New class: StateMachine
Refactoring and new extension methods
Refactoring
New tests
Code coverage reports