<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def visible_devices(self):
 """Unify all visible devices across all connected adapters Returns: dict: A dictionary mapping UUIDs to device information dictionaries """


        devs = {}

        for device_id, adapters in self._devices.items():
            dev = None
            max_signal = None
            best_adapter = None

            for adapter_id, devinfo in adapters.items():
                connstring = "adapter/{0}/{1}".format(adapter_id, devinfo['connection_string'])
                if dev is None:
                    dev = copy.deepcopy(devinfo)
                    del dev['connection_string']

                if 'adapters' not in dev:
                    dev['adapters'] = []
                    best_adapter = adapter_id

                dev['adapters'].append((adapter_id, devinfo['signal_strength'], connstring))

                if max_signal is None:
                    max_signal = devinfo['signal_strength']
                elif devinfo['signal_strength'] > max_signal:
                    max_signal = devinfo['signal_strength']
                    best_adapter = adapter_id

            # If device has been seen in no adapters, it will get expired
            # don't return it
            if dev is None:
                continue

            dev['connection_string'] = "device/%x" % dev['uuid']
            dev['adapters'] = sorted(dev['adapters'], key=lambda x: x[1], reverse=True)
            dev['best_adapter'] = best_adapter
            dev['signal_strength'] = max_signal

            devs[device_id] = dev

        return devs