Made base protocol callbacks protected to indicate they are not to be confused with public API of protocols.