FSM state & transition now interfaces instead of seperate models