VoteOutcome reports local events and is not part of the protocol layer. Create a separate message (Event) to transfer it.
Make sure checkpoints are blocked when AL is out of date.
Explanatory comment for leader behaviours in presence of out of date AL.
Make sure we handle exceptions on an out of date AL.
Remove pointless Override tags.
Add basic checkpoint and up-to-dateness lifecycle
Improve readability and localise checkpoint handling.
Improve encapsulation by moving terminate into Environment and changing access.
Add logging and fixup of out of date AL's