Created FxAutomaton and re-organized Automaton and sub-classes