I should add here that we do it in fleet by adding a TTL to the state. If a machine dies unexpectedly, its negotiation state will be automatically wiped.