Use jquery for mouseenter/leave event to avoid digest cycle
Remove components when not useful
Optimize use of debounce functions