dead simple dependency injection and inversion of control for javascript