Cherry picking the changes from master into clean-viz.
Changes pulled in from master to update clean-viz branch.
Allow undefined chartType to be passed into Visualize.
Handling default chart type better. Renaming destroy to remove.
Removing the triggering of remove for now.

Can't get it working in the cleanviz branch and don't see where it's used.