(for review) Singletons should use prototypes & mixins should be extensible like we really want