Changed usage of scope.$watch to more efficient attrs.$observe