def leader: Option[Address] =
      if (members.isEmpty) None
      else members.find(m => m.status != Joining && m.status != Exiting && m.status != Down).orElse(Some(members.min(Member.leaderStatusOrdering))).map(_.address)