the chef analogy is brilliant, honestly this is the clearest explanation of DI i have come across. the point about coding for change tomorrow not just today is the thing that finally made it click for me a while back. bookmarking this one for whenever i have to explain it to someone else.