Inner classes, class visibility, and default constructor visibility