showTooltip can be called at any time, with the intention is that only one tooltip is ever displayed at any given instant. So yeah, BrowserID.Tooltip is a public facing singleton, with the showTooltip method that shows a Tooltip instance. 

The differentiation between BrowserID.Tooltip (public facing singleton) and Tooltip, the instantiated object is historical. All of it used to be taken care of by the singleton, but that became too complex for my brain to handle.

showTooltip will remove any of the old tooltips from the DOM, and then overwrites the visibleTooltip element with a reference to a new Tooltip. In removeVisibleTooltip, I probably should delete the reference upon completion.

I think my own historical context is preventing me from fully seeing an alternative, cleaner, solution. Any help that allows me to make changes to tooltip.js only is very much appreciated!