We need to refactor this project from a single-file monolith module into a multi-file directory module. Long-term, it's what we will need in order to make the codebase more maintainable, because we will need to add child classes to support the extreme antipatterns of the new integration APIs (i.e. using a different hostname for some endpoints but not all). Being able to put such classes in separate files will make the codebase far easier to navigate.
This also would un-block #26.