Inversion of Control (IOC)