refactor $watch delivery method
$watch should not call subscribers when there are not changes