I am not sure why the last set of comments on this didn't update to reflect that everything is using revive() now, but everything is indeed using revive() now