Refactor event handling.
Add TBStateMachineEventHandler class.
Add action and guard to TBStateMachineTransition.
TBStateMachine handles actions and guards when switching states.
Updated unit tests.

Relates to issues #2, #3