classes.js
function(constructorFn, chainConstruct) {
        var instance = this;
        if (typeof constructorFn==='boolean') {
            chainConstruct = constructorFn;
            constructorFn = null;
        }
        (typeof chainConstruct === 'boolean') || (chainConstruct=DEFAULT_CHAIN_CONSTRUCT);
        instance.$$constrFn = constructorFn || NOOP;
        instance.$$chainConstructed = chainConstruct ? true : false;
        return instance;
    }
function(constructorFn, chainConstruct) {
        var instance = this;
        if (typeof constructorFn==='boolean') {
            chainConstruct = constructorFn;
            constructorFn = null;
        }
        (typeof chainConstruct === 'boolean') || (chainConstruct=DEFAULT_CHAIN_CONSTRUCT);
        instance.$$constrFn = constructorFn || NOOP;
        instance.$$chainConstructed = chainConstruct ? true : false;
        return instance;
    }
function ( constructorFn , chainConstruct ) { var instance = this ; if ( typeof constructorFn === 'boolean' ) { chainConstruct = constructorFn ; constructorFn = null ; } ( typeof chainConstruct === 'boolean' ) || ( chainConstruct = DEFAULT_CHAIN_CONSTRUCT ) ; instance . $$constrFn = constructorFn || NOOP ; instance . $$chainConstructed = chainConstruct ? true : false ; return instance ; }
Redefines the constructor fo the Class

@method setConstructor
@param [constructorFn] {Function} The function that will serve as the new constructor for the class.
If `undefined` defaults to `NOOP`
@param [prototypes] {Object} Hash map of properties to be added to the prototype of the new class.
@param [chainConstruct=true] {Boolean} Whether -during instance creation- to automaticly construct in the complete hierarchy with the given constructor arguments.
@chainable
Redefines the constructor fo the Class