Thank you @drewhk for clarifying my intent with this code.
It is a special case, when the leader is leaving, the cluster will behave better if it tries to tell others that he is exiting before shutting down. Otherwise others will detect him as unreachable and so on.
3 felt like a good effort. I don't really see the point in making this configurable, but I can of course do that if that is our policy.