nit: I think these two functions can be passed as args of `initWithAdapter`, or set up by one `gDeviceList.setHandler()`.