When interactions occur that require custom business logic, an IoC framework will invoke code provided by the developer. This is the "inversion" aspect of the inversion of control design principle.