State Machine: added specification showing the usage of custom types for states and events