 
 #include <ELModule.h>
 #include <ELDigitalIO.h>
-#include <ELSerial.h>
+#include <ELCommand.h>
 #include <ELRealTime.h>
 #include <ELAssert.h>
 
-class CExampleModule : public CModule, public IDigitalIOEventHandler, public ISerialCmdHandler, public IRealTimeHandler
+class CExampleModule : public CModule, public IDigitalIOEventHandler, public ICmdHandler, public IRealTimeHandler
 {
 	CExampleModule(
 		)

		Serial.printf("In Setup\n");

		// Register a serial port command.
		gSerialCmd->RegisterCommand("hello", this, static_cast<TSerialCmdMethod>(&CExampleModule::SerialCmdHello));

		// Register a digital io event handler on pin 1
		gDigitalIO->RegisterEventHandler(1, false, this, static_cast<TDigitalIOEventMethod>(&CExampleModule::PinActivated), NULL);


	bool
	SerialCmdHello(
		IOutputDirector*	inOutput,
		int					inArgC,
		char const*			inArgv[])
	{
		inOutput->printf("Hello World\n");

		return true;	// Returning true means command was processed successfully, returning false will print an error to the proper output
	}

	void
