Simple dependency injection container