Best Practices for Dependency Injection and Code Organization - Effect Community