docs: function install(definition, Component) {
    const Ctor = register(definition, Component);
  
    // no dependencies
    if (!definition.components) {
      return Ctor;
    }
  
    const components = definition.components || {};
  
    // avoid unnecessary re-registering for next time
    delete definition.components;
  
    // register components
    for (const name in components) {
      Ctor.component(name, register(components[name], Component));
      install(components[name], Component);
    }
  
    return Ctor;
  }