refactor handshake into its on module: easier to test
finally finished all the mq tests
move ready status update out of handshake