FSM is filthy and I hate you for creating/using it