MMClass is just another JavaScript Class factory,
like Class in Prototype,
MooTools or
Base2.
But it follow the semantics of ES6 max-min class draft,
so all codes written with MMClass are expected to be compatible with ES6.

Note: As ES6, Dog.[[prototype]] should be Pet so that Dog class can inherit
all "static" properties on Pet. MMClass follow this semantic via setting
__proto__ . Most engines support this pseudo property, if it's not supported,
MMClass will copy all properties.