Implement PortReader and ChanWriter