First attempt at a full rewrite of the visualizer.