Transitions can be wildcards. Returning false will cancel a state change.
Options can be passed to change state.

These get passed to transitions and also state functions, alongside any triggered events.
Fixed a syntax error preventing building, cleaner calculation of transition with wildcards.
Whitespace