Would appear that dependency injection in JS for most purposes is overkill but it seems to make sense here how the AngularJS guys did it. This
article by this Krasimir fellow does a fine job explaining how it works. (I do wonder about performance implications when there are a lot of bindings on a page though. Seems like a lot of code to parse . . )