code: function wrapAEntityMethods (obj) {
    var newObj = {};
    var ANodeMethods = [
      'attachedCallback',
      'attributeChangedCallback',
      'createdCallback',
      'detachedCallback'
    ];
    var AEntityMethods = [
      'attachedCallback',
      'attributeChangedCallback',
      'createdCallback',
      'detachedCallback'
    ];
  
    wrapMethods(newObj, ANodeMethods, obj, ANode.prototype);
    wrapMethods(newObj, AEntityMethods, obj, AEntity.prototype);
    // Copies the remaining properties into the new object.
    copyProperties(obj, newObj);
    return newObj;
  }
docs: This wraps some of the obj methods to call those on `AEntity` base prototype.
  
  @param {object} obj - The objects 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.