Handshake's are now handled via the operation queue rather than synchronous. Should solve race condition when handshake completes too fast.