code: def monitor(self, name, cb, request=None, notify_disconnect=False):
          
          R = Subscription(name, cb, notify_disconnect=notify_disconnect)
          cb = partial(cothread.Callback, R._event)
  
          R._S = super(Context, self).monitor(name, cb, request)
          return R
docs: Create a subscription.
  
          :param str name: PV name string
          :param callable cb: Processing callback
          :param request: A :py:class:`p4p.Value` or string to qualify this request, or None to use a default.
          :param bool notify_disconnect: In additional to Values, the callback may also be call with instances of Exception.
                                         Specifically: Disconnected , RemoteError, or Cancelled
          :returns: a :py:class:`Subscription` instance
  
          The callable will be invoked with one argument which is either.
  
          * A p4p.Value (Subject to :py:ref:`unwrap`)
          * A sub-class of Exception (Disconnected , RemoteError, or Cancelled)