src/core/a-register-element.js
function wrapMethods (targetObj, methodList, derivedObj, baseObj) {
  methodList.forEach(function (methodName) {
    wrapMethod(targetObj, methodName, derivedObj, baseObj);
  });
}
function wrapMethods (targetObj, methodList, derivedObj, baseObj) {
  methodList.forEach(function (methodName) {
    wrapMethod(targetObj, methodName, derivedObj, baseObj);
  });
}
function wrapMethods ( targetObj , methodList , derivedObj , baseObj ) { methodList . forEach ( function ( methodName ) { wrapMethod ( targetObj , methodName , derivedObj , baseObj ) ; } ) ; }
Wrap a list a methods to ensure that those in the base prototype are called
before the derived one.

@param {object} targetObj - Object that will contain the wrapped methods.
@param {array} methodList - List of methods from the derivedObj that will be wrapped.
@param {object} derivedObject - Object that inherits from the baseObj.
@param {object} baseObj - Object that derivedObj inherits from.
Wrap a list a methods to ensure that those in the base prototype are called before the derived one .