More cleanup and improvement

* Properly privatize objects associatedClass var
* And for MoeClass:
   * Ditch overloaded constructors for the implicit one with Option and defaults, then use named params
   * Scaladoc
   * Refactor attribute & method methods to be more idiomatic