General interfaces for Protocol internals + Avro implementation