preserve the original result of deferreds

Then render callback was modified to returned the original result.
Returning the same deferred does not discard its value which helps to be able to cache deferreds on the server side.