Added IOC container for dependency injection along with tests.