<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def add_topic(self, topic):
 """Add a topic to the list of topics tracked via metadata. Arguments: topic (str):
 topic to track Returns: Future: resolves after metadata request/response """

        if topic in self._topics:
            return Future().success(set(self._topics))

        self._topics.add(topic)
        return self.cluster.request_update()