public void Register(IUserActionListener listener)
 {
     listener.UserActionOccured += (sender, userAction) =>
                                   {
                                       if (UserActionPublished != null)
                                           UserActionPublished(this, userAction);
                                   };
 }
 public void Unsubscribe(IUserActionListener listener)
 {
     Listeners.Remove(listener);
 }
 public void Subscribe(IUserActionListener listener)
 {
     Listeners.Add(listener);
 }