Implementing our own DI container with TDD — Part 1