Let's coding with a simple IOC container