It's actually just used as a gate for e.g. when we do automatic cluster reconfiguration, because we only want to attempt that if we're the leader.  It's also used in the unit tests to find the leader.  

It's not really supposed to be for determining when we become the leader.

An event may also be useful, but it would be overkill for what I need isLeader for (so far!)