src/core/a-register-element.js
function wrapANodeMethods (obj) {
  var newObj = {};
  var ANodeMethods = [
    'attachedCallback',
    'attributeChangedCallback',
    'createdCallback',
    'detachedCallback'
  ];
  wrapMethods(newObj, ANodeMethods, obj, ANode.prototype);
  copyProperties(obj, newObj);
  return newObj;
}
function wrapANodeMethods (obj) {
  var newObj = {};
  var ANodeMethods = [
    'attachedCallback',
    'attributeChangedCallback',
    'createdCallback',
    'detachedCallback'
  ];
  wrapMethods(newObj, ANodeMethods, obj, ANode.prototype);
  copyProperties(obj, newObj);
  return newObj;
}
function wrapANodeMethods ( obj ) { var newObj = { } ; var ANodeMethods = [ 'attachedCallback' , 'attributeChangedCallback' , 'createdCallback' , 'detachedCallback' ] ; wrapMethods ( newObj , ANodeMethods , obj , ANode . prototype ) ; copyProperties ( obj , newObj ) ; return newObj ; }
Wrap some obj methods to call those on `ANode` base prototype.

@param {object} obj - Object that contains the methods that will be wrapped.
@return {object} An object with the same properties as the input parameter but
with some of methods wrapped.
Wrap some obj methods to call those on ANode base prototype .