Good point. I suggest to call `this.close()`  just before creating the new scope.

The thing is I don't want to create scopes (and so some watchers) if the popup is not displayed. Popups created by the service are display temporarly so their scope is useless when they are not displayed.  

Otherwise yes I think You're right , I could put this stuff in the create function.