IoC / DI for JavaScript