Exploring Dependency Injection in C# and Top 3 DI Containers - part 2