This is worth working through. It’s a simple pattern that can be used with almost all IAs and in using you can claim complexity and good programming practice. Note especially how easy it would be to create a different interface (View) for the Model. Almost nothing would need to be re-coded as long as the View raised the right events with the Controller.