Roughly set out the style of the FSM and some example states