The model defines the data to be displayed or otherwise acted upon in the user interface. The view displays data from the model and routes user commands (events) to the presenter to act upon that data. The presenter retrieves data from the model and displays it in the view. The implementation of MVP can vary as to how much presentation logic is handled by the presenter and the view. In a web application most presentation logic is usually in the view which runs in the web browser. MVP is one of the MV* variations of the MVC pattern.