refactored tons of functionality into Class.Body and HasAttributes