If one calls `open` multiple times then `this.scope` gets assigned to a new scope and we loose the ability to destroy the previous scope. Why not compiling and linking only once, in the constructor? Sorry if I'm missing the obvious here.