allow the callback to be optional for priming the device list