The Practical Dev's review of Singletons versus Dependency Injection