We will probably be deprecating the MultiIODevice / InputOutputDevice class at some point in the future. It is currently used only by some EZIO Insteon modules.
Instead we recommend creating multiple devices (SensorDevice and RelayDevice in this case). To group them together logically (which will show each device as tab panels in the device dialog) you can use the device factory APIs.
This forum thread has some details (note the SDK has a factory example)
The EZIO modules were first implemented before Indigo had the factory APIs / device groups. If we ever fully deprecate the MultiIODevice we'll be migrating the EZIO devices over to the factory API.