move read/write responsibilities to NIOHeadStage and out of the SelectorLoop logic