Simple protocols

explicitly list all the messages that the server will support, and give each one its own function