async add(object) {
    if (object.parent) await object.parent.remove(object);

    await this.wait();
    await object.wait();

    if (!object.native) {
      throw new CompositionError(
        'Component',
        'there is no object.native',
        this
      );
    }

    object.parent = this;
    await this.applyBridge({onAdd: object}).onAdd;
    this.native.add(object.native);
    this.children.push(object);

    return object;
  }
@method add
@instance
@description Add a child `Component`.
@param {Component} object - Component that should be added as a `child`.
@return {Promise} Resolved when action is done.
@memberof module:core.Component