Refactored the connection code, need to clean up the queue and init handshake then i think we're done here