Chapter 8. The Model-View-Controller Pattern