docs: def subscribe(self, topic, callback, qos):
          """Subscribe to an MQTT topic."""
          if topic in self.topics:
              return
  
          def _message_callback(mqttc, userdata, msg):
              """Callback added to callback list for received message."""
              callback(msg.topic, msg.payload.decode('utf-8'), msg.qos)
  
          self._mqttc.subscribe(topic, qos)
          self._mqttc.message_callback_add(topic, _message_callback)
          self.topics[topic] = callback