I came across this recent question, originally only tagged with c#.
OP is particularly interested in how unit-test -friendly his code is, and what could be done to improve on that aspect.
The unit-testing tag doesn't seem appropriate in this case, since my understanding of that tag's applicability implies that the post contains unit tests.
Would a testability tag be useful?