_onChildChange(slotName, childChangeInfo) {
      if (!this.constructor.getMetadata().shouldInvalidateOnChildChange(slotName, childChangeInfo.type, childChangeInfo.name)) {
        return;
      }
      // The component should be invalidated as this type of change on the child is listened for
      // However, no matter what changed on the child (property/slot), the invalidation is registered as "type=slot" for the component itself
      _invalidate.call(this, {
        type: "slot",
        name: slotName,
        reason: "childchange",
        child: childChangeInfo.target
      });
    }
Callback that is executed whenever a monitored child changes its state

@param {sting} slotName the slot in which a child was invalidated
@param { ChangeInfo } childChangeInfo the changeInfo object for the child in the given slot
@private