func downloadComponent(name string, config *properties.Properties) error {
	out, err := os.Create(getTempFileName(name, config))
	defer out.Close()

	resp, err := http.Get(config.MustGetString(name))
	defer resp.Body.Close()

	if err != nil {
		log.Fatal(err)
		return err
	}

	_, err = io.Copy(out, resp.Body)

	return err
}
func getTempFileName(name string, config *properties.Properties) string {
	return path.Join(os.TempDir(), path.Base(config.MustGetString(name)))
}