So this change looks for when we are in a backoff and it has changed since the beginning of the function.  By doing this more explicit check, we won't over-write a timeout that we have just set.  This line can be reached without a change in the backoff interval if: a) we are currently in a block state and simply finishing some message we had in our queue or b) we `requeue` a message without a backoff.

As for @mreiferson's point about changing the syntax of the logic... I think this sort of compound logic is simpler to understand, but since it's just personal preference I'll defer to standard practice and change it.