* **Electron Version:**
  * 5.0.x
* **Operating System:**
  * macOS 10.14.5

### Expected Behavior
Electron does not crash at exit.

### Actual Behavior
The notifications are sent well, i use the close() function to avoid persistence in Notification Center. 

By doing this every time I quit the application I have a message that warns me that the application did not stop properly.

### To Reproduce
```javascript
const notif = new Notification({title: title, body: body, silent: true})
notif.on('click', () => appEvent.emit('show-window'))
notif.show()
setTimeout(() => notif.close(), 10000)
```
After sending notification(s), close application (app.quit()) and the error will appear.

To no longer have the error after quitting app, i do not use the function close () but my application generates a lot of notifications and I would have preferred to handle that.

shell/browser/api/atom_api_notification.cc
InitWithArgs(args);
  presenter_ = static_cast<AtomBrowserClient*>(AtomBrowserClient::Get())
                   ->GetNotificationPresenter();
  gin::Dictionary opts(nullptr);
  if (args->GetNext(&opts)) {
    opts.Get("title", &title_);
    opts.Get("subtitle", &subtitle_);
    opts.Get("body", &body_);
    has_icon_ = opts.Get("icon", &icon_);
    if (has_icon_) {
      opts.Get("icon", &icon_path_);
    }
    opts.Get("silent", &silent_);
    opts.Get("replyPlaceholder", &reply_placeholder_);
    opts.Get("urgency", &urgency_);
    opts.Get("hasReply", &has_reply_);
    opts.Get("timeoutType", &timeout_type_);
    opts.Get("actions", &actions_);
    opts.Get("sound", &sound_);
    opts.Get("closeButtonText", &close_button_text_);
  }
}
Notification::~Notification() {