class ISocket test example + MessageFactory model