'Request for the service task.
Servicing is disabled if it is disabled thourght the "enabled"
attribute.  When the task is executing, the service is disabled to
avoid recursion.'

def service(self):

    if self.enabled:
        enable = self.enabled
        try:
            self.enabled = False
            next(self._task)
        finally:
            self.enabled = enable
