ConstConstruct your own with new G3tEventBus() and pass it
to registerToolkitActions and wireCytoscapeContextActions. Both
take the bus as a parameter and neither reaches for this singleton;
the wiring guide's example builds its own. Warning-first per
RELEASE.md: this stays through 1.x and is a candidate for removal at
the next major.
THE HAZARD. A module-level instance is only a singleton within one
module instance. Two copies of @g3-toolkit/core in a dependency tree, or
one host reaching it through import while another path reaches it
through require, produce two buses. The emitter holds one and the
subscriber holds the other, so menu items go dead with no error and
nothing in a stack trace to point at. This is the same shape as the
store-identity hazard, and it is why the toolkit's own APIs take the
bus explicitly rather than importing it: an instance you passed in
is an instance you can be sure of.
Shared bus instance.