Improve by adhering more to SRP
Clean up code with lots of method breakups, variable renaming, etc.