public void RemoveDelegate(IApplicationStateDelegate <T> d)
 {
     for (int i = m_Subscriptions.Count - 1; i >= 0; i--)
     {
         if (m_Subscriptions[i] != d)
         {
             continue;
         }
         m_Subscriptions.RemoveAt(i);
         break;
     }
 }
 public void AddDelegate(IApplicationStateDelegate <T> d)
 {
     m_Subscriptions.Add(d);
 }