Dependency injection container in go