title: Model-View-Controller: when should changes to the view be determined by the controller?
body: <p>Model-View-Controller seems to allow two types of changes to the view:</p>
  
  <ol>
  <li>Whenever the model changes, the view receives a change notification so it can update its visual representation accordingly.</li>
  <li>The controller is given direct access to the view's API for the purposes of "View Selection".</li>
  </ol>
  
  <p>What exactly is "View Selection", and under what circumstances should the controller be making changes to the view rather than having the view make its own changes based only on the model?</p>