- Polish, cleaning, tidy up - Split listener and context events into new StateMachineObjectSupport - Polish pseudostate handling - Extract isSubstate into static util function - Remove event from State exit/entry. Event not needed as function argument because it's already wrapped in state context. - Polish how StateContext is created - Polish state exit/entry