Updated to remove singletons and to implement basic DI with UnityContainer.