As usual I'm trusting that the bluez/dbus logic makes sense, the other side of the glue seems broadly sensible.
I guess the library doesn't actually provide us with any way to just query the total number of devices at any given time? It would avoid having to keep track of devices in the first place...