Maybe we should factor out those that are common for tcp and udp into NetworkSupport and let TCPSupport and DatagramChannel extend it ... WDYT ?