Clone the notify operator as needed.

This prevents inadvertantly adding a static observer to a base class
member.
Update looper to only create new widgets when necessary.
Standardize use of change dict
Merge branch 'master' into item-views
Add hooks for debugging dynamic scope
Merge branch 'master' into item-views
wip commit