It seems unit testing would be key, but it's problematic in that everything is private! Getting the bird's-eye view is an intriguing thought, but I'm wonder how to actually go about the refactoring itself?
I could avoid it, but it seems that I'm already hacking code that itself was a hack (cuz I didn't know what I was doing). It makes updating and extending a very time-consuming proposition.