Added DeviceListener wrapper