Refactor State.backoff() to be testable