I've seen many different takes on MVC. I've generally envisioned the controller gluing together the model and the view. Wikipedia [has the controller taking the user's input](http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller) and the view just providing the output. The case of this particular feature ("install update") shows me some of the value of [DCI](http://en.wikipedia.org/wiki/Data,_Context,_and_Interaction) because there's no code that describes the use case of "install update" – there's a bunch of little chunks of code sprinkled over a dozen files.

The way I saw it when I added the call to view.handleNewInstall is that I saw the Install Extension Dialog as basically a modal sub-view of the Extension Manager View. It doesn't have a model of its own and doesn't really have much to do with the Extension Manager View Model. So, I thought it cleanest to have it delegate the call to its parent view.

I agree that more of the logic should live in Extension Manager. I will consider that a bit later today.