watch-as-decorator bugfix, and unwatch()