The stating library enables you to use states in an easy or complex way - whatever you like. I decided to separate the transitions between the states from the states themselves, because I thought they should not be part of them. You can extend these StateTransition and have therefore full control over which IState should appear after the deactivated one, but you don't need to. If you have simple one-after-one-transitions, then you just need to specify that at adding the IState object to the StateMachine and that's it. The StateMachine will do the rest for you.
version 1.1 | released on Jan 4th 2016 | documentationchanges:
Added "[codeboxes]" to trace statements.
version 1.0 | released on Aug 29th 2015 | documentation