simple DI framework