There are a lot of different kind of coffee, some are good, others just so so, and then there are the truly awful ones that make you wonder if whoever produced it even knew what coffee is.

I spent the last few months refactoring a large legacy application. Since it was full of global state (200+ global variables), long files (1.5k+ View Controller files) and everything in between I decided to go for multiple passes during the refactoring process.