Added Expandable info panel, and fully customizable palette system.

Can you pull this listener out into its own method.