I don't think so, as the $watch is a scope function, no need to reference watch in parameter again.

Anyhow, I tried it, and it work: 75fa2ca59e9d4755d4bd76bae189b71c9976d8c7

Note: this toggle functionality relies that the directive's scope hierarchy contains the scope where the variable is acutally manipulated (in ng-click). For example, if `<a href="" ng-click="importKmlPopupShown = !importKmlPopupShown">{{'kml' | translate}}</a>` would be inside another scope than it is now, it would not work. `importKmlPopupShown` is part of the MapControllers scope now (on the body tag), that's why it works.