code: func NewCandidate(client store.Store, key, node string, ttl time.Duration) *Candidate {
  	return &Candidate{
  		client: client,
  		key:    key,
  		node:   node,
  
  		leader:   false,
  		lockTTL:  ttl,
  		resignCh: make(chan bool),
  		stopCh:   make(chan struct{}),
  	}
  }
docs: // NewCandidate creates a new Candidate