switched back to $watch from custom event