Nested classes are now properly nested (can access outer class private var)

Struct's boxed types are now nested classes too
Centralized member utilities (for properties and methods) such as getting accessmodifiers and names instead of duplication