I had a branch that began splitting up the modules, and on paper it seemed like a very long but simple project.

However, it turned out to be quite the feat, most of the problems were related to load timings and utility methods being extremely interconnected. It's still a project that I would love to pursue but doing it in one big push seems very unlikely and too brittle.

I think the best approach to future modularization will be to split components one at a time instead of doing a single large split.