private void UnsubscribeConsumer(UpdatesSubscription subscription)
 {
     lock (this.m_lock)
     {
         this.m_subscriptions.Remove(subscription);
         this.UpdateMonitoringTask();
     }
 }
        public ISubscription SubscribeToUpdates(Action <Pack> notificationConsumer, UpdateFrequency frequency = UpdateFrequency.Normal)
        {
            lock (this.m_lock)
            {
                var subscription = new UpdatesSubscription(notificationConsumer, frequency, this.UnsubscribeConsumer);
                this.m_subscriptions.Add(subscription);
                this.UpdateMonitoringTask();

                return(subscription);
            }
        }