Name/Fix for Production Code Whose Sole Purpose is to Facilitate Testing?I understand your frustration that you feel your question has been derailed. As I said in my answer, "such code would normally be a smell indicating that something's up with the shape of your class' public signature". In this case, the problem is that your class is instantiating its own dependency. In other cases, it may be something else. You're essentially asking "What is it called when a poorly designed class is hard to test. What can be done about it [other than fixing the poor design]?"

Is method overloading anything more than syntactic sugar?I think you misunderstand. For example, in C#, if one of the parameters to a method is dynamic then overload resolution occurs at runtime, not at compile-time. That's what multiple dispatch is, and it cannot be replicated by renaming functions.