Not sure here, but this could probably be done differently. Using $parent always smells fishy to me (I might be wrong though).

Can't we pass the variable to watch into the directives scope with '='? 
In the directives scope definition: `toggle: '=gaPopup'`
then use `scope.$watch(toggle, ....)` here

Maybe not possible in this case.