Return a deferred on close rather than after open