add $apply method in scope.
Add $evalAsync method to run the defer code in the same digest.
Modify $evalAsync method for using in watch method.