IMessageWriter + IMessageWriterFactory are not necessary, as messages are just buffers that need to be drained to the socket. Instead we have a standard MessageWriter that does that.
A Java NIO Server using non-blocking IO all the way through.