async loadRoute(routeId, routeParentEl) {
    if (!routeParentEl)
      routeParentEl = this.routeContainerEl;
    let rContent;
    try {
      rContent = await this.ensureTemplate(routeId);
    } catch (e) {
      throw new Error(`[uibrouter:loadRoute] No template for route id '${routeId}'. 
 ${e.message}`);
    }
    const docFrag = rContent.content.cloneNode(true);
    if (this.isRouteExternal(routeId))
      this._applyScripts(docFrag);
    const tempContainer = document.createElement("div");
    tempContainer.dataset.route = routeId;
    tempContainer.append(docFrag);
    try {
      routeParentEl.append(tempContainer);
    } catch (e) {
      throw new Error(`[uibrouter:loadRoute] Failed to apply route id '${routeId}'. 
 ${e.message}`);
    }
    document.dispatchEvent(new CustomEvent("uibrouter:route-loaded", { routeId }));
    return true;
  }
Async method to create DOM route content from a route template (internal or external) - loads external templates if not already loaded
Route templates have to be a `<template>` tag with an ID that matches the route id.
Scripts in the template are run at this point.
All errors throw so make sure to try/catch calls to this method.
@param {string} routeId ID of the route definition to use to create the content
@param {HTMLElement} [routeParentEl] OPTIONAL, default=this.routeContainerEl (master route container). Reference to an HTML Element to which the route content will added as a child.
@returns {boolean} True if the route content was created successfully, false otherwise