Add error handling to TCPStream trait, rename messages