Still in the middle of fixing compile errors :\
Somewhat refactored how peers are created and also got rid of the listener
var within protocol.  Protocol and Peer are now coupled.
Compiles now, time to test