I know q_properties are an easy way to bind with QML, but how can `UDeviceModel` know exactly which properties `UDevice` has?   Using Q_Properties in this way is an assumption of the properties of UDevice, making the latter pointless.