Creating custom dialogs
Custom dialogs can be used for all kinds of user input. We can ask the user to fill a form (for example, a login form can be displayed as a dialog). We can also use them to ask the user to accept or decline some action that requires immediate attention (for example, a dialog asking the user "Are you sure you want to delete the selected items?").
As we can theoretically display any other page segment in a dialog, it would be great if we had a single flexible method to do it. The easiest way to attain flexibility is to split the dialog into three parts: view, model, and controller.