My first thought is that if we took the Stream class methods, placed them in templates TInputStream and TOutputStream, then I could mix them into my class.
"I could derive my SocketStream above from``TcpSocket""and mixin the TInputStream and TOutputStream methods."