@GarstgerUnhold I would prefer not to pass DOM IDs around like this. We've certainly written some code that does this in other places, but it's not really _The Angular Way_ (at least as far as I understand it).

What I'd suggest is creating another directive on the `<fieldset>` that tracks the element containing the checkboxes, e.g.

```js
directive('checkableFieldset', ['CheckAllService', function(CheckAllService) {
  // implementation detail …
}]);
```

Then in this directive, use `require` option to enforce the dependency:
```js
directive('checkUncheckLinks', ['CheckAllService', function(CheckAlLService) {
  return {
   restrict: 'E',
   replace: true,
   require: '^checkableFieldset',
   // etc. etc.
  }
}]);
```

Check the [Angular Docs section on this](https://docs.angularjs.org/guide/directive#creating-directives-that-communicate) for an OK example.

@tilt any thoughts?