Example: All the properties on SectionContext are marked private, but many are needed outside the class itself. It is perhaps more reasonable to make these properties public than have 'getters' whose sole function is to return their corresponding private properties.
Doing so cuts down on boilerplate and clarifies at a glance which properties are semantically private to the class. If indirection becomes necessary in the future, we can always fall back on the get() syntax without breaking call sites.
Example: All the properties on SectionContext are marked private, but many are needed outside the class itself. It is perhaps more reasonable to make these properties public than have 'getters' whose sole function is to return their corresponding private properties.
Doing so cuts down on boilerplate and clarifies at a glance which properties are semantically private to the class. If indirection becomes necessary in the future, we can always fall back on the get() syntax without breaking call sites.