This method allows you to get all state information. This allows you to build
tooling where you can access all exit and entry logic and execute that (commands)
on an domain object (which you can build via a factory and a custom entity builder).
This is highly useful if you have failed transitions (eg: because a 3d party service
was temporarily down) and only want to execute a specific piece of logic independently.
Just instantiate the command associated with the state logic with the domain object
injected in the constructor.