code: def handle_subscribe(self, request, path):
          # type: (Subscribe, List[str]) -> CallbackResponses
          
          ret = []
          if path:
              # Recurse down
              name = path[0]
              if name not in self.children:
                  self.children[name] = NotifierNode(
                      getattr(self.data, name, None), self)
              ret += self.children[name].handle_subscribe(request, path[1:])
          else:
              # This is for us
              serialized = serialize_object(self.data)
              if request.delta:
                  self.delta_requests.append(request)
                  ret.append(request.delta_response([[[], serialized]]))
              else:
                  self.update_requests.append(request)
                  ret.append(request.update_response(serialized))
          return ret
docs: Add to the list of request to notify, and notify the initial value of
          the data held
  
          Args:
              request (Subscribe): The subscribe request
              path (list): The relative path from ourself
  
          Returns:
              list: [(callback, Response)] that need to be called