Change Hub.List() []DeviceInfo to Hub.ListPush(...) <-chan []DeviceInfo. It's better for testing, because Station less relies on time.Sleep() and also opens a door to implement libusbx hotplug