

                ┌──────────────────────────┐
                │        Controller        │
                ├──────────────────────────┤
                │ -model Model             │
                │ -view View               │
                ├──────────────────────────┤
                │ +handleInput(event) void │
                │ +updateModel(data) void  │
                └──────────────────────────┘
                            │   │
               ┌─updates────┘   └─refreshes───────┐
               │                                  │
               ▼                                  ▼
  ┌─────────────────────────┐            ┌────────────────┐
  │          Model          │            │      View      │
  ├─────────────────────────┤   reads    ├────────────────┤
  │ -data Map               │◄───────────│ -model Model   │
  ├─────────────────────────┤ notifies   ├────────────────┤
  │ +getData() Map          │┄┄┄┄┄┄┄┄┄┄┄►│ +render() void │
  │ +setData(key, val) void │            │ +update() void │
  │ +notify() void          │            └────────────────┘
  └─────────────────────────┘
