Sample code for better understanding DI, DIC and IOC