Making make-fsm more readably and separating into its own package