Changes to DeviceFactory