public void Dispose()
 {
     if (_parent != null)
     {
         _parent.RemoveSubscription(this);
         _parent = null;
     }
 }
 public Subscription(KeyWatcher parent, IObserver <char> observer)
 {
     _parent  = parent;
     Observer = observer;
 }