_constructEngineInstance({ name, instanceId, mountPoint }) {
    let owner = getOwner(this);

    assert(
      "You attempted to mount the engine '" +
        name +
        "' in your router map, but the engine cannot be found.",
      owner.hasRegistration(`engine:${name}`),
    );

    let engineInstances = this._engineInstances;

    if (!engineInstances[name]) {
      engineInstances[name] = Object.create(null);
    }

    let engineInstance = owner.buildChildEngineInstance(name, {
      routable: true,
      mountPoint,
    });

    engineInstances[name][instanceId] = engineInstance;

    return engineInstance.boot().then(() => {
      return engineInstance;
    });
  }
Constructs an instance of an Engine based on an engineInfo object.
TODO: Figure out if this works with nested Engines.

@private
@method _constructEngineInstance
@param {Object} engineInfo
@param {String} engineInfo.name
@param {String} engineInfo.instanceId
@param {String} engineInfo.mountPoint
@return {Promise<EngineInstance>}