Mon Aug 21 09:44:15 EDT 2017
Presentation model and caches (push environment once)
It's ok to extend the presentation model with caches. Basically,
widget redraw will get data from local cache.
1. Keep presentation "bounce" complete: do not put incremental updates
in the bouncer: each PM state pushes a full update to every widget
that is registered.
2. For PM and widgets that are separated by high latency link, fill
the widget's cache with anything that doesn't change (PM environment)
and only send state updates, e.g. indices into that environment.
3. Allow widgets to be smart wrt. repaint or not.