static inherit(target, source) {
            target.prototype = Object.create(source.prototype);
            target.prototype.constructor = target;
            target.super_ = source;
        }
Inherits a target (Class_1) by a source (Class_2)
@param {Function} target
@param {Function} source