<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def handle_unsubscribe(self, request, path):
 # type: (Subscribe, List[str]) -> CallbackResponses """Remove from the notifier list and send a return Args: request (Subscribe):
 The original subscribe request path (list):
 The relative path from ourself Returns: list: [(callback, Response)] that need to be called """

        ret = []
        if path:
            # Recurse down
            name = path[0]
            child = self.children[name]
            ret += child.handle_unsubscribe(request, path[1:])
            if not child.children and not child.update_requests \
                    and not child.delta_requests:
                del self.children[name]
        else:
            # This is for us
            if request in self.update_requests:
                self.update_requests.remove(request)
            else:
                self.delta_requests.remove(request)
            ret.append(request.return_response())
        return ret