code: function createNamedClass (name, klass, baseKlass, superFunc) {
      if (!superFunc) {
          superFunc = function () {
              baseKlass.call(this);
          };
      }
      
      return new Function(
          'klass', 'superFunc',
          'return function ' + name + ' () {' +
              'superFunc.apply(this, arguments);' +
              'klass.apply(this, arguments);' +
          '};'
          )(klass, superFunc);
  }
docs: Create named class with extends