- new StateMachineListener method for listening all StateContext changes in a various stages. - StateContext now has a stage enum field telling at which stage it is. - Polish some classes and docs. - Prepare tests for StateContext. - Relates to #126, #138 and #150