Yes there is. It's possible we cancel a key, while there is a timeout in the list. Then we may re-add the key before that timeout is processed. So now, we have two timeouts and both will fire.