Every developer eventually inherits a legacy .NET project the kind where every method talks to everything, and a single change breaks three other features.
We had one of those too. And instead of rewriting from scratch, we decided to refactor and e...