A course format would probably be the correct way to do this, but it would be a lot of work too. And I have never written one.
Just another option, you might start by cloning the label module to something new, and add all your javascript fancy stuff to that. Then add the new label to the course page. Optionally using stealth mode to hide the activities from displaying normally on the same page.