This class represents a finite state machine (E,S,I,T,F) where
E is the input alphabet (getAlphabet(), represented implicitely in the
state class' transition maps)
S is a finite non-empty set of states (getStates())
I is the set of initial states (getInitialStates())
T is the state transition function (represented in the state class'
transition maps)
F is the set of final states (getFinalStates())
The class is very similar to the mathematical construct.