Personally, this is where OOP ceases to be the right solution because it does not handle IoC very well. Finding your own solution might be better. Personally, I roll back with F # - while I can control both ends.
The new Rx may help some of these problems, but still it just borrows a gang from functional programming.
I think that for some time we linger on objects as the basic model for some things - fortunately, objects worked so poorly in web services that standards already moved away from them to functional interfaces such as SOAP.
source share