code: func (m *ownerManager) CampaignOwner(ctx context.Context) error {
  	logPrefix := fmt.Sprintf("[%s] %s", m.prompt, m.key)
  	session, err := NewSession(ctx, logPrefix, m.etcdCli, NewSessionDefaultRetryCnt, ManagerSessionTTL)
  	if err != nil {
  		return errors.Trace(err)
  	}
  	go m.campaignLoop(ctx, session)
  	return nil
  }
docs: // CampaignOwner implements Manager.CampaignOwner interface.