re-named base class for unit testing
renamed extension method
moved the IMessage interface in to the common project