adding support for  refreshes

@qq99 @nsimmons for review

So, replacing everything except the passed id works fine. The only thing here is that I'm not sure if we can find a better solution then replacing the whole body.

I only added the `refreshOnErrorExcept` because is the only one I need, should we add for success as well?