public void Unsubscribe(IStateTransitionObserver observer)
 {
     if (observers.Contains(observer))
     {
         observers.Remove(observer);
     }
 }
 public void Subscribe(IStateTransitionObserver observer)
 {
     this.observers.Add(observer);
 }