code: func Retry(useProfile string, timeout int, wait *sync.WaitGroup, ch chan error) {
  	until := time.Now().Add(time.Millisecond * time.Duration(timeout))
  	for time.Now().Before(until) {
  		var err error
  		//When looping, only handle configuration if it hasn't already been set.
  		if Configuration == nil {
  			Configuration, err = initializeConfiguration(useProfile)
  			if err != nil {
  				ch <- err
  			} else {
  				// Setup Logging
  				logTarget := setLoggingTarget()
  				LoggingClient = logger.NewClient(internal.ConfigSeedServiceKey, Configuration.EnableRemoteLogging, logTarget, Configuration.LoggingLevel)
  			}
  		}
  		//Check to verify Registry connectivity
  		if Registry == nil {
  			Registry, err = initRegistryClient("")
  
  			if err != nil {
  				ch <- err
  			}
  		} else {
  			if !Registry.IsAlive() {
  				ch <- fmt.Errorf("Registry (%s) is not running", Configuration.Registry.Type)
  			} else {
  				break
  			}
  		}
  
  		time.Sleep(time.Second * time.Duration(1))
  	}
  	close(ch)
  	wait.Done()
  
  	return
  }
docs: // The purpose of Retry is different here than in other services. In this case, we use a retry in order
  // to initialize the RegistryClient that will be used to write configuration information. Other services
  // use Retry to read their information. Config-seed writes information.