@cwebber I find that whenever I feel entangled in a web of architecture or code that I've woven myself, it's best to put down the keyboard, and go for a walk.
A shower can help, too.
Or preparing a snack. (If actually hungry, also eating the snack.)
You'd think that the fundamentals of software design were lofty and deep, but this is what I've learnt: walking helps to think, and a break helps too.
Lars and friends