FLOE-226: All feedback tool buttons share one dialog and one tooltip.

http://issues.fluidproject.org/browse/FLOE-226
This kind of infrastructure is never a good idea. It constrains all of the implementor's selectors to take the form of a simple classname. As well as raising a documentation requirement (both for us writing the docs and other people reading them) it creates inexplicable ways for the component to fail. We need to rethink all of this group of functions, including "matchElementInMap" - could you outline what the required behaviour is here, and start writing it up in implementation comments?
In general we should be able to avoid
i) hard-baked assumptions about the form of selectors
ii) the requirement for linear searches using "find" during an event loop - we should be able to dispatch such things in constant time, both for performance and clarity