Manually manage config subscription
Use DOM event API for mouseenter handler
Use dispatchEvent instead of trigger