Would it be possible to add methods and/or events to expose the visibility state of Menu instances? For example methods like `Menu#isVisible()` and `Menu#isHidden()` and events like "show" and "hide".
shell/browser/ui/tray_icon.cc
#include "shell/browser/ui/tray_icon.h"
namespace electron {
TrayIcon::BalloonOptions::BalloonOptions() = default;
TrayIcon::TrayIcon() = default;
TrayIcon::~TrayIcon() = default;
void TrayIcon::SetPressedImage(ImageType image) {}
void TrayIcon::DisplayBalloon(const BalloonOptions& options) {}
void TrayIcon::RemoveBalloon() {}
void TrayIcon::Focus() {}
void TrayIcon::PopUpContextMenu(const gfx::Point& pos,
                                AtomMenuModel* menu_model) {}
gfx::Rect TrayIcon::GetBounds() {
  return gfx::Rect();
}
void TrayIcon::NotifyClicked(const gfx::Rect& bounds,
                             const gfx::Point& location,
                             int modifiers) {
  for (TrayIconObserver& observer : observers_)
    observer.OnClicked(bounds, location, modifiers);
}
void TrayIcon::NotifyDoubleClicked(const gfx::Rect& bounds, int modifiers) {
  for (TrayIconObserver& observer : observers_)
    observer.OnDoubleClicked(bounds, modifiers);
}
void TrayIcon::NotifyBalloonShow() {
  for (TrayIconObserver& observer : observers_)
    observer.OnBalloonShow();
}
void TrayIcon::NotifyBalloonClicked() {