Finish up protocol API - we now compile again. Extensive testing is required, but that is for another day. (commit: d82b29e)