Any reason for not marking all methods in this trait as ``protected``?