move getData to InputDevice, PEP8
PEP8
DeviceFactory for outputs
move outputDevices to separate file
inject outputDevices in outputHandler