sample IoC implementation + First time using a more or less TDD approach