This is a little OT, but every-time dependency injection comes up I  
go a googling, and I never seem to be able to wrap my head around an  
explanation of what it is, and what the purpose is. Could someone  
point me to a good explanation?