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