update the Connection/Request/Response/Socket, make abstract data type f...

...or ISocket, IRequest, IResponse