Tie hover-tracking to individual instances and expose hoverItem and unHoverItem as pseudo-private methods on the prototype to allow for extensibility; move content out of constructor to init for better extensibility