fn rank(state: &str) -> u8
How far a state goes, to say the furthest: shown, then handed, then an end, then taken.