Layer -> Layer : from on layer to another layer ,there are something to do:
  1. data presentation transform
  2. exposition of actions
  3. data(state) synchronization
Layered application: chose which layer is need and what responsibility will be included.

Responsibility: Know, Have, Do              supply actions, consume actions

Autonomous View:
  1. Not Controller, not presenter
  2. the screen is responsible for everything - getting the data (majorely from the Model) and then deals with the data presentation.
Supervising Controller: the controller
  1. the Controller is responsible getting data from other parts of  the application and then setting up the view with all of the data it needs, including the Model
  2. the Screen have a reference to the Model, and is responsible for synchronizing screen state with the Model directly, at this point , we may use data binding or other mechanism
Passive View
  1. then Controller does very thing for the screen, including the synchronization between the screen state and the Model
  2. then Screen is just dumb and exposes lots of getter/setter to the controller
Presentation Model
  1. the Presenter is the Model, the Presentation Model is a data container and presenter as well
  2. the View binds directly to the Presentation Model just like it would in the Supervising Controller.
additional: Embedded Controller, refers to "user interface widget-aware"  classes that can help a view do some of the presentation work. For example, turning the field that has value or changed data blue, GridHelper class to help tootstrap the standard "sort, page, query, filter" functionality that's similar across screens.