A library for implementing distributed generic replicated state machines using the Raft consensus algorithm