Implement FSM support