Added protocols to control communication

Protocols can be swapped as we develop more sophisticated ones.  These
are mostly just for test.