Lots of people like to use in inversion of control container, usually shortened to IOC, to inject dependencies into classes. The are lots of reasons for doing so but in the end they mostly boil down to separation of concern which makes thing more modular and thereby easier to reuse and unit test. When...