Inversion of Control (IOC), Dependency Inversion, Dependency Injection, IOC Containers ... Um, wut?
Guess what else? We're building big, complex apps that run in the browser. We're building big, high-performance back-ends that run on Node. The days of global functions, hardcoded dependencies and manual dependency management are gone. We need better architectural patterns, and we need them now.