code: def observe(self, path, callback, timeout=None, **kwargs):  # pragma: no cover
          
          request = self.mk_request(defines.Codes.GET, path)
          request.observe = 0
  
          for k, v in kwargs.items():
              if hasattr(request, k):
                  setattr(request, k, v)
  
          return self.send_request(request, callback, timeout)
docs: Perform a GET with observe on a certain path.
  
          :param path: the path
          :param callback: the callback function to invoke upon notifications
          :param timeout: the timeout of the request
          :return: the response to the observe request