Dispatching specific error events from handshake
Simplified how handshake works and using peers instead of channels