code: func CustomInit(sources ...core.ConfigSource) error {
  	var err error
  	factory, err = NewConfigFactory()
  	if err != nil {
  		return err
  	}
  
  	factory.DeInit()
  	factory.Init()
  	for _, s := range sources {
  		err = factory.AddSource(s)
  		if err != nil {
  			return err
  		}
  	}
  
  	eventHandler := EventListener{
  		Name:    "EventHandler",
  		Factory: factory,
  	}
  
  	factory.RegisterListener(eventHandler, "a*")
  
  	return err
  }
docs: //CustomInit accept is able to accept a list of config source, add it into archaius runtime.
  //it almost like Init(), but you can fully control config sources you inject to archaius