Q6. [15 Marks] As in DiceJavaFX 
 a. DiceModel:

        O: +1 Dice Model extends Observable
        S: +1 in roll: setChanged()
        N: +1 in roll: notifyObservers()

        Max 2/3 if all of the above concepts are there, but not in correct
        places.

        Max 1/3 if some notion of observable present

 b. DiceController:
        M: +1 Controller holds onto model
        A: +1 implements EventHandler<ActionEvent> (.5 extends EventHandler<ActionEvent>)
        AP: +1 public void handle(ActionEvent event)
        MR: +1 model.roll();
        S: 0 (simple) controller does not interact or hold onto view

 c. DiceView
        O: +1 Implements Observer
        C: +1 holds onto controller, for example, via constructor
        G: 0 Builds gui
        U: +1 Update method present
        U: +1 Update correctly implemented (get dice value and set text fields)

        M: +2 Construct instance of Model, View and Controller
        C: +1 DiceController controller = new DiceController(model);
              1 mark for hookup, DiceController holds onto DiceModel
        H: +1 model.addObserver(this);
              1 mark for model holding onto view

