https://www.javacodegeeks.com/2017/05/inversion-control-really-work.html
How Does Inversion of Control Really Work