Return a Disposable from Workspace::registerOpener

This is part of the "disposables everywhere" initiative