Backend now no longer exposes its internal data structures. Improved ui.js organization. Backend now caches the entire subject for course detail data.