Change to execute event block and remove redundant params.
Change visibility and expose manual event trigger.
Change to detect conflict earlier.
Change message name to express intent.
Change to remove status in favour of simple boolean check.
Change to remove nil check.
Remove previous state.
Change state machine inspection to use events chain.
Add state transitions to events chain.
Change to use events chain call.
Change to use events_chain states call.
Change to use events chain states_for call.
Change to remove transition logic.
Change to use new call.
Change logger to accept parameters.
Change to extract from transition.
Change to group method types.
Remove next transition from events chain.
Change to explicit check for transition from state.
Change to use events chain transition_from.
Change to use events chain.
Change event names to use event chain.
Change to remove dependency on transition.
Change to better express intention.
Change to mock out undefined transition.
Update docs abou callbacks sequence and execution.
Fix bug - ability to cancel inside callback.
Remove unnecessary checks.
Change to remove indirection.
Change to remove unnecessary comparison condition.
Change to specify required files.
Remove create and inline code.
Use state definition.
Remove state query methods from transition.
Change to reuse existing checks.
Remove select transition from events chain as duplicate.
Change to clarify meaning.
Remove duplicated method.