We now clear the re-activate value when a user is unpaused. Added bonus here is various bits of refactor and cleanup, with some tests