Container-based DI using generators