OutputDeviceInterface: reduce the amount of boilerplate coe
The update functions can be done as a template, and the signals are not really used and unnecessary.
The update functions can be done as a template, and the signals are not really used and unnecessary.