listenOnRoot(event, callback) {
      if (this.bvEventRoot) {
        this.bvEventRoot.$on(event, callback)
        this.registerRootListener(event, callback)
      }
    }
Safely register event listeners on the root Vue node
While Vue automatically removes listeners for individual components,
when a component registers a listener on `$root` and is destroyed,
this orphans a callback because the node is gone, but the `$root`
does not clear the callback

When registering a `$root` listener, it also registers the listener
to be removed in the component's `beforeDestroy()` hook

@param {string} event
@param {function} callback