constructor(parent) {
    super(parent)

    /**
     * @member {FacadeDescriptor | Array<FacadeDescriptor>} children
     * Descriptors for one or more child facades.
     */
    this.children = null

    this._orderedChildKeys = []
  }
Base facade class for objects that have `children`. Manages creating and destroying child
facade instances as needed as its `children` array changes.

If you need to create a large number of child objects based on an array of incoming data,
consider using a `ListFacade` instead of a parent object with a large `children` array, since
that requires only a single template descriptor object instead of one for every child.