code: func NewStore(path string) *Store {
  	return &Store{
  		path:        path,
  		data:        newRaftData(),
  		subscribers: make(map[string]*list.List),
  
  		leaderCh:   make(chan bool),
  		heartbeats: make(map[instanceKey]time.Time),
  
  		closing: make(chan struct{}),
  
  		HeartbeatTimeout:   1000 * time.Millisecond,
  		ElectionTimeout:    1000 * time.Millisecond,
  		LeaderLeaseTimeout: 500 * time.Millisecond,
  		CommitTimeout:      50 * time.Millisecond,
  
  		InstanceTTL:         DefaultInstanceTTL,
  		ExpiryCheckInterval: DefaultExpiryCheckInterval,
  
  		LogOutput: os.Stderr,
  		Now:       time.Now,
  	}
  }
docs: // NewStore returns an instance of Store.