In that you could create the scope and do the linking in the open function, but once only, in a lazy manner. Something like this:

```
  if (!this.childScope) {
    this.childScope = this.scope.$new();
    $compile(this.element)(this.childScope);
    ...
  }
```