This patch already has 51 commit squashed. It itcludes changes related to raft join, but also has lots of refactoring.
Close #32 (closed)