Dependency Injection in Delphi