Traits use private instead of protected so they can be used/reused in base classes