Client should almost definitely have a header and source file of its own.  Additionally, the files "NetworkClient.h" and "MDParticipantInterface.h" must be included to allow subclassing.