Attempts to improve the FSM macros