We use private visibility by defualt in Symfony, and we switch to protected only whe have a clear use case for an extension point