The new thing is that I implemented the transition from Down to Removed.
Previously down members stayed in unreachable forever.

A member is normally in unreachable when Down (until leader removes it), but it's also possible to down a reachable member to skip the leaving/exiting/removed steps.