Work in progress.

Ok, makes things better, but Collapsed Topic and Columns will NOT work.  Will need alteration to them.  Very long story, whole thing in core needs refactoring to make simpler and easier to override.  Danced around the solution.  Some hair loss.  Need to think.

In CT & Columns renderers could try changing private $courseformat = null; to protected.  Have run out of time ATM.