_showNotification(config) {
    if (config.topic && !config.title) config.title = config.topic;
    if (!config.title) config.title = "uibuilder notification";
    if (config.payload && !config.body) config.body = config.payload;
    if (!config.body) config.body = " No message given.";
    try {
      const notify = new Notification(config.title, config);
      return new Promise((resolve, reject) => {
        notify.addEventListener("close", (ev) => {
          ev.currentTarget.userAction = "close";
          resolve(ev);
        });
        notify.addEventListener("click", (ev) => {
          ev.currentTarget.userAction = "click";
          resolve(ev);
        });
        notify.addEventListener("error", (ev) => {
          ev.currentTarget.userAction = "error";
          reject(ev);
        });
      });
    } catch (e) {
      return Promise.reject(new Error("Browser refused to create a Notification"));
    }
  }
Show a browser notification if the browser and the user allows it
@param {object} config Notification config data
@returns {Promise} Resolves on close or click event, returns the event.