Common protocol interface

All protocols, besides proxy, now has the same method signatures for init and start. Proxy is a special case and will not fit this.
Looking for comments...
IMHO the plugin functionality is an entirely separate issue/task. I would prefer explicit over implicit declaration until we actually need it.