Unfortunately this is only half the work. Same kinds of tests also have to work on scope watching, and I think right now, they would fail. Could you create a scope.watch('may.isEmpty') test to make sure it works there as well. Change detection takes a different path.