A design principle in which portions of a program receive control from external sources. Relies on DI.