source/res/functions.js
function define(type, baseClass, members, statics) {
    // empty constructor
    type.prototype = baseClass ? typeof baseClass === "function" ? new baseClass() : baseClass : new Class(); // set base object as prototype
    type.prototype.constructor = type;
    type.prototype = apply(type.prototype, members || {});
    return apply(type, statics || {}); // return empty object with right [[Prototype]]
}
function define(type, baseClass, members, statics) {
    // empty constructor
    type.prototype = baseClass ? typeof baseClass === "function" ? new baseClass() : baseClass : new Class(); // set base object as prototype
    type.prototype.constructor = type;
    type.prototype = apply(type.prototype, members || {});
    return apply(type, statics || {}); // return empty object with right [[Prototype]]
}
function define ( type , baseClass , members , statics ) { // empty constructor type . prototype = baseClass ? typeof baseClass === "function" ? new baseClass ( ) : baseClass : new Class ( ) ; // set base object as prototype type . prototype . constructor = type ; type . prototype = apply ( type . prototype , members || { } ) ; return apply ( type , statics || { } ) ; // return empty object with right [[Prototype]] }
Defines a new member and registers it into the wrapper object.

@param memberName
{String} The name of the member to be defined. It must be a valid
namespace identifier.
@param definition
{Object} Contains the public class members.
@param wrapper
{Object} Defines the wrapper of the new Object, if not provided
window will be taken.
Defines a new member and registers it into the wrapper object .