Great article - thanks for writing it!
One thing to mention: the controller also has to handle any errors it encounters while fetching the models or building the view. In turn, it needs to redirect or 404 when an error occurs.
Also worth mentioning - these definitions are flexible. Not everyone agrees that the View controls presentation. One notable exception: the popular Django web framework: https://docs.djangoproject.com/en/dev/faq/general/#django-appears-to-be-a-mvc-framework-but-you-call-the-controller-the-view-and-the-view-the-template-how-come-you-don-t-use-the-standard-names