What is inversion of control? Here are some definitions.
Noun
(software architecture) Abstract principle describing an aspect of some software architecture designs in which the flow of control of a system is inverted in comparison to the traditional architecture, getting the flow of control from a generic code part.