a screen and its responsibilities:

  • Display and capture the currently selected shipment options
  • Respond to user events like selecting a value in the ComboBox's
  • Fetching the list of states
  • Fetching the list of shipping vendors for a given state or province
  • Fetching the list of options for a given state/province and vendor
  • Changing the dropdown lists
  • Enabling and disabling the checkbox's for purchasing insurance and requiring a signature
  • Calculate the shipping cost for the selected options
  • Update the cost textbox whenever the shipment options change
The supervising controller will take care some complex logic
The view can will take some simple logic, something like the synchronization between the page widget and the business object (just binds properties to the UI widget, take care for the databinding)