Technique for decreasing coupling by configuring an object's collaborators from the outside. Szydło reframes dependency injection as 'configurable instance' coupling: the caller holds a reference to an interface (a dispatch point) rather than a concrete class, so any implementation can be plugged in. Metaphor: calling a call-center dispatch instead of a specific person. Comes at the cost of added complexity — worth paying only where configurability is actually needed. Bicycle analogy: everything except the frame is configurable (wheels, steering), trading simplicity for flexibility.