Nested classes' constructors have the package-private access level to prevent synthetic garbage to be generated by a java compiler. Other fields are made package-private for consistency.