public void RaiseInvalidState(TState targetState, TTrigger trigger)
 {
     InvalidState?.Invoke(new TransitionEventArgs <TState, TTrigger>(CurrentState, targetState, trigger));
 }