Shouldn't this be `always()` instead of `done()`? If one of the render promises fails, the deferred wouldn't get resolved.