docs: def service(self, name=None, pk=None, scope=None, **kwargs):
          """
          Retrieve single KE-chain Service.
  
          Uses the same interface as the :func:`services` method but returns only a single pykechain
          :class:`models.Service` instance.
  
          :param name: (optional) name to limit the search for
          :type name: basestring or None
          :param pk: (optional) primary key or id (UUID) of the service to search for
          :type pk: basestring or None
          :param scope: (optional) id (UUID) of the scope to search in
          :type scope: basestring or None
          :param kwargs: (optional) additional search keyword arguments
          :type kwargs: dict or None
          :return: a single :class:`models.Service` object
          :raises NotFoundError: When no `Service` object is found
          :raises MultipleFoundError: When more than a single `Service` object is found
          """
          _services = self.services(name=name, pk=pk, scope=scope, **kwargs)
  
          if len(_services) == 0:
              raise NotFoundError("No service fits criteria")
          if len(_services) != 1:
              raise MultipleFoundError("Multiple services fit criteria")
  
          return _services[0]