performance improvements.

+ UI improvements
+ More efficient watchers
+ unwatch on scope destroy