Add a priority flag to the watch function so the order in which callbacks execute can be controlled
Support priorities in immediate updates as well as during a pass
No longer need hack to deal with random watch update ordering