public void AddSubscriber(IHostIoSubscriber subscriber)
        {
            foreach (WeakReference reference in this.subscribers)
            {
                if (reference.Target == subscriber)
                {
                    return;
                }
            }

            this.subscribers.Add(new WeakReference(subscriber));
        }
        public void RemoveSubscriber(IHostIoSubscriber subscriber)
        {
            var matches = new List<WeakReference>();

            foreach (WeakReference reference in this.subscribers)
            {
                if (reference.Target == subscriber)
                {
                    matches.Add(reference);
                }
            }

            foreach (WeakReference reference in matches)
            {
                this.subscribers.Remove(reference);
            }
        }