canonicalize hooking into the update function -
now allow users to provide didUpdate to dataemitters- return false to cancel.  Also takes care of self recursion.