explicit dependency injection, safe for strict-di mode