First pass (incomplete) at new approach.  Multi-line won't work, and non-multi-line certainly won't.  We'll attempt to actually do three canvases - g, ear, list