Change to `.before` events and work correctly for derivative components
Dispatch show/hide (and before) events for tooltip and its derivatives