Well, sort of, I didn't explain that very well. I guess it seems like with most jquery plugins, you can send string commands to their 'fn.function' after they're initialized.

The best Jquery plugins I've used work as stand-alone JS classes, and then also initialize sepjQuery helper functions, to make it easier to call them via Jquery. The bootstrap [tooltip plugin initalization code](https://github.com/twbs/bootstrap/blob/master/js/tooltip.js#L364) shows a simple example of how this works. 

The first time you call $(".myElement").tooltip(), it calls the Tooltip constructor, and stores the instance in the jquery data. The next time you call the jquery function for that same element, if you pass it a string command ('hide', 'show', 'toggle', 'destroy'), it invokes the appropriate method on the Popover class instance. It delegates responsibility of just about everything to the Tooltip class.

More importantly, the selectors are never used again by the code. The instance of the Popover class has a reference to the element, and the element has a reference to the class via the data property. If we really need to be able to show/hide/destroy these alerts, this is the cleanest way to do it, and will result in fewer surprises for the consumer of the plugin. We shouldn't have to pass selectors to jquery plugins, that's what the $ method is for. And removing elements from the dom based on 'default' selectors is a little scary to me. :scream:

Does that make sense? I'm sorry if I'm making things overly complicated.