<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def monitor(self, name, handler, request=None, **kws):
 """Begin subscription to named PV :param str name: PV name string :param callable handler: Completion notification. Called with None (FIFO not empty), RemoteError, Cancelled, or Disconnected :param request: A :py:class:`p4p.Value` or string to qualify this request, or None to use a default. :param bool notify_disconnect: Whether disconnect (and done) notifications are delivered to the callback (as None). :returns: A Subscription """

        chan = self._channel(name)
        return Subscription(context=self,
                            nt=self._nt,
                            channel=chan, handler=monHandler(handler), pvRequest=wrapRequest(request),
                            **kws)