<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def probe_async(self, callback):
 """Probe for visible devices connected to this DeviceAdapter. Args: callback (callable):
 A callback for when the probe operation has completed. callback should have signature callback(adapter_id, success, failure_reason) where: success: bool failure_reason: None if success is True, otherwise a reason for why we could not probe """


        topics = MQTTTopicValidator(self.prefix)
        self.client.publish(topics.probe, {'type': 'command', 'operation': 'probe', 'client': self.name})
        callback(self.id, True, None)