async def start_server(self):
        """Connects to the bus and publishes 3 interfaces."""
        bus = await MessageBus().connect()
        root = QtileRoot()
        bus.export("/", root)

        unpaired_device = Device(
            BLUEZ_DEVICE,
            alias="Earbuds",
            state=DeviceState.UNPAIRED,
            address="11",
            adapter=ADAPTER_PATH,
        )
        paired_device = Device(
            BLUEZ_DEVICE,
            alias="Headphones",
            state=DeviceState.PAIRED,
            address="22",
            adapter=ADAPTER_PATH,
        )
        connected_device = Device(
            BLUEZ_DEVICE,
            alias="Speaker",
            state=DeviceState.CONNECTED,
            address="33",
            adapter=ADAPTER_PATH,
        )
        battery = Battery(BLUEZ_BATTERY)

        for d in [unpaired_device, paired_device, connected_device]:
            path = f"{ADAPTER_PATH}/dev_{d._address.replace(':', '_')}"
            bus.export(path, d)

            if d is connected_device:
                bus.export(path, battery)

        adapter = Adapter(BLUEZ_ADAPTER)
        bus.export(ADAPTER_PATH, adapter)

        # Request the service name
        await bus.request_name(BLUEZ_SERVICE)

        await asyncio.get_event_loop().create_future()
Connects to the bus and publishes 3 interfaces.
test/widgets/test_bluetooth.py