call .revive() last on object .reset()

I was having some strange bugs because revive was the first being called in reset() I think it's sane to call it last after setting all the variables.