code: func (adapter *Registry) Watch(resyncName string, changeChan chan datasync.ChangeEvent,
  	resyncChan chan datasync.ResyncEvent, keyPrefixes ...string) (datasync.WatchRegistration, error) {
  
  	adapter.access.Lock()
  	defer adapter.access.Unlock()
  
  	if _, found := adapter.subscriptions[resyncName]; found {
  		return nil, errors.New("Already watching " + resyncName)
  	}
  
  	adapter.subscriptions[resyncName] = &Subscription{
  		ResyncName:  resyncName,
  		ChangeChan:  changeChan,
  		ResyncChan:  resyncChan,
  		CloseChan:   make(chan string),
  		KeyPrefixes: keyPrefixes,
  	}
  
  	return &WatchDataReg{resyncName, adapter}, nil
  }
docs: // Watch only appends channels.