code: function Extendable(errorClass) {
  
    /**
     * @constructor
     */
    function ExtendableClass() {
      errorClass.apply(this, arguments);
    }
  
    ExtendableClass.prototype = Object.create(errorClass.prototype);
    Object.setPrototypeOf ? Object.setPrototypeOf(ExtendableClass, errorClass) : ExtendableClass.__proto__ = errorClass;
  
    return ExtendableClass;
  }
docs: /* eslint no-proto:0 
  Fixes babel@6 issue: https://phabricator.babeljs.io/T3083
  @param {*} errorClass
  @returns {ExtendableClass}
  @constructor