JavaScript simple inheritance.
function EXTENDS(super_, extension) {
var obj = function() {};
var proto = obj.prototype = new super_();
proto.super = function() {
super_.apply(this, arguments);
};
for (var prop in extension) {
if (extension.hasOwnProperty(prop)) proto[prop] = extension[prop];
}
return new obj();
}