public void UnregisterListener(gameStateListener listener)
 {
     if (listeners.Contains(listener))
     {
         Debug.Log("unregister: " + listener.source.gameObject.name + " on " + name);
         listeners.Remove(listener);
     }
 }
 public void RegisterListener(gameStateListener listener)
 {
     if (!listeners.Contains(listener))
     {
         Debug.Log("register: " + listener.source.gameObject.name + " on " + name);
         listeners.Add(listener);
     }
 }