code: func (confSrc *MemoryConfigurationSource) AddKeyValue(key string, value interface{}) error {
  	if !confSrc.ChanStatus {
  		<-confSrc.CallbackCheck
  		confSrc.ChanStatus = true
  	}
  
  	event := new(core.Event)
  	event.EventSource = confSrc.GetSourceName()
  	event.Key = key
  	event.Value = value
  
  	confSrc.Lock()
  	defer confSrc.Unlock()
  	if _, ok := confSrc.Configurations[key]; !ok {
  		event.EventType = core.Create
  	} else {
  		event.EventType = core.Update
  	}
  
  	confSrc.Configurations[key] = value
  
  	if confSrc.callback != nil {
  		confSrc.callback.OnEvent(event)
  	}
  
  	return nil
  }
docs: //AddKeyValue creates new configuration for corresponding key and value pair