code: func FacterStringFact(fact string) (string, error) {
  	mu.Lock()
  	defer mu.Unlock()
  
  	value, ok := cache[fact]
  	if ok {
  		return value, nil
  	}
  
  	cmd := FacterCmd()
  
  	if cmd == "" {
  		return "", errors.New("could not find your facter command")
  	}
  
  	out, err := exec.Command(cmd, fact).Output()
  	if err != nil {
  		return "", err
  	}
  
  	value = strings.Replace(string(out), "\n", "", -1)
  	cache[fact] = value
  
  	return value, nil
  }
docs: // FacterStringFact looks up a facter fact, returns "" when unknown