The first possible transition is based on the configuration of
the guard logic and the current state of the statemachine.
This method is the main way to have the statemachine do useful work.
TRICKY: Be careful when using this function, since all guard logic must
be mutually exclusive! If not, you might end up performing the state
transition with priority n when you really want to perform transition
n+1.
An alternative is to use the 'transition' method to target 1 transition
specifically:
$statemachine->transition('a_to_b');
So you are always sure that you are actually doing the intented
transition instead of relying on the configuration and guard logic (which
*might* not be correctly implemented, leading to transitions that would
normally not be executed).