rework the handshake to allow multiple types of messages
remove link channel and update references to it to refer to the handshake now