Presentation Layer
Controller, view and model are very well understood building blocks of a presentation layer of an application. We apply them in slightly different ways but our fundamental goal to de-couple these aspects. While this decoupling provides a lot of mileage in building the presentation layer but we often overlook other building blocks. Some of these other blocks are common to both rich and web client application, others are not.
Conversation State
Navigation Controller
Controller per view or based on domain