Today I began a complete rewrite.

Things are starting to feel unweildy and I would like to conform with modern architectural practices to the extent feasible. I would like to maximize the maintainability of my codebase because I have come to think that perhaps it is much much harder to add features or fix bugs than it probably should be. I am really starting to dislike the hacky way that I wrote things in the beginning and want to make it all nice and neat.

I have taken care not to break existing code to allow easy reversion to the original structure. I’m building up a new version in parallel with the old one. Once the new one is complete and fully tested I’ll delete the old packages.