Remove backend object asserts
If a power device is removed immediately after it's added (seems to be the case when Apple Magic Trackpad connects for the first time), UPower's EnumerateDevices can return a list without the device in. If that happens, createBackendObject() will return null, and the device will be added to m_devicesMap in findRegisteredDevice(). When the device is removed, the backend object assert in _k_deviceRemoved() will be triggered and the app will crash.
Loading Devices on demand is prone to this race. As a way around, remove the asserts.
Edited by Vlad Zahorodnii