Move message logic out of this module

that will be one layer up, so don't quite deal with it yet.
Connect and End should only happen once
Move shutdown process to a method
Use 'state' property to track Peer status
Documenting structure for sending messages to Peers