The language of the story or requirement is used to directly guide development of the feature – even naming the modules and function calls.
As a consequence, the feature implementation tends to closely represent the customer's desire with little extraneous or unneeded functionality.
Test-driven development is accomplished by mocking the view and model and writing unit tests for the presenter.
The presenter expects view events to be fired (e.g. the click of the save button), and in turn it will make calls on the view (e.g. hide the warning message) and the model (e.g. initiate file save operation) in response.
In a GUI application, each screen, dialog box, and complex widget is represented by an MVP axis (its functional design dictated by a customer story).