New net interface

Ah got it. 

Returning a proto.Message makes it less testable since it's no longer possible to verify the contents of the returned proto message.

In the end, will still probably want to hide the proto method.