View genetics.js
Genetics = {
top: window,
// builds a descendant object
// overridden functions get wrapped with this._super prop pointing to base func
// inherits prototype chain
originate: function(name, def) {
var top = Genetics.top;
top[name] = def.init;
delete def.init;
top[name].prototype = def;