In this chapter, we added some of the most common features that web applications need to our address book application. We learned how to make deployment easy by using the configuration file. Next, we saw how to store data between requests with Session plugins, and how to use Session plugin to make the user's experience more consistent and enjoyable. We also learned how to identify users and use their identity to control access to the application. Later, we programmed search logic and learned how to display resultsets that span multiple pages. Finally, we learned how to utilize our application's model outside of our application.