Additional data can be used when getting the state for a transition

Hi there,

First of all props for the amazing library! It works perfectly with states as string. But in my use case, I would like to store some additional data alongside the state of the object like the datetime of when the object has transitioned to state.
To store such information, I made the state an entity instead of a string. And by overriding the new `getStateForTransition` method in my own StateMachine class, I can return an object instead of a string. To add data to the state object, you can pass an additional array.

Hopefully you'll like the idea :-) otherwise you have some thoughts how I can resolve this with your library.