code: function engineManager_getElement(spec) {
      var elem = null;
  
      switch(spec.type) {
        /**
         * subtype: subtype to match
         * value: value to match
         */
        case "more_engines":
          elem = new elementslib.ID(this._controller.window.document, "addEngines");
          break;
        case "button":
          elem = new elementslib.Lookup(this._controller.window.document, MANAGER_BUTTONS +
                                        '/{"dlgtype":"' + spec.subtype + '"}');
          break;
        case "engine_button":
          switch(spec.subtype) {
            case "down":
              elem = new elementslib.ID(this._controller.window.document, "dn");
              break;
            case "edit":
              elem = new elementslib.ID(this._controller.window.document, "edit");
              break;
            case "remove":
              elem = new elementslib.ID(this._controller.window.document, "remove");
              break;
            case "up":
              elem = new elementslib.ID(this._controller.window.document, "up");
              break;
          }
          break;
        case "engine_list":
          elem = new elementslib.ID(this._controller.window.document, "engineList");
          break;
        case "suggest":
          elem = new elementslib.ID(this._controller.window.document, "enableSuggest");
          break;
        default:
          throw new Error(arguments.callee.name + ": Unknown element type - " + spec.type);
      }
  
      return elem;
    }
docs: Retrieve an UI element based on the given spec
  
  @param {object} spec
  Information of the UI element which should be retrieved
  type: General type information
  subtype: Specific element or property
  value: Value of the element or property
  @returns Element which has been created
  @type ElemBase