GSX Manual, Pages 66-67 has some explanations on why the menu is "lazy", what's the difference between "menu closed with active icon" and "menu closed with inactive icon", and why sometimes the menu closes itself, and sometimes it stays open.
The menu works like this, because it was the only way to fit with the GSX interactivity, when many times a menu requires a further choice, in some cases later, and this doesn't fit well with the design of the Toolbars, which were more supposed to be something that you open and keep it open to do something, and close it when you are done.
It works with an fairly complex interaction between WASM, Javascript, Python and C++, because all the actors involved needed to find a way to replace to crucial functions from the Simconnect SDK, that is the creation of choice menus on the fly ( the Simconnect menu ), and short text messages, which we had to tie to the tooltip system.
It would be so much better if only the SDK allowed Simconnect apps to call functions of the Javascript/Coherent framework. If they allowed this, applications would be way more responsive and interesting, and stand-alone WASM modules would start to do incredible things, instead of being just dummy slaves for client applications that need to access the Gauges API remotely, which they need, because WASM is so limited you can't do any serious stuff with it, so it need to push out features only it can access, to external applications that are doing the real job, since they have access to the complete Windows APIs.