Basic FSM (WIP)