Testing and validation
The separation of the pieces allows testing of the parts other than through a GUI
- For example, a testing harness can provide an alternative implementation for each form’s put method
By separating control flow and state management from UI, exercising and analyzing the components is much easier