- it should be possible to register event handlers
- it should be possible to define enter and exit blocks
- enter block will be executed before the enter block of the respective substate
- exit block will be executed after the exit block of the respective substate