Originally Posted by
dlorde
The key to this (and also manual refactoring of the kind you are doing) is to make sure that you only ever pass interfaces as dependencies. The discipline of rethinking everything in terms of interfaces often points up design problems that can be fixed or worked around, and once all object parameters are interfaces, the application becomes a lot more flexible.
Thanks dlorde for your input. That is exactly how I did it, using interfaces rather than setting things in stone with objects. In the end it still has dependencies, but things have better adaptability relative to all the object passing.