Invoice System applying Dependency Injection principles of decoupling service objects.