func New(opts *Options) (*genny.Generator, error) {
	g := genny.New()

	if err := opts.Validate(); err != nil {
		return g, err
	}

	data := map[string]interface{}{
		"opts": opts,
	}
	t := gogen.TemplateTransformer(data, template.FuncMap{})
	g.Transformer(t)

	g.RunFn(func(r *genny.Runner) error {
		return genFile(r, opts)
	})
	return g, nil
}
func New(opts *Options) (*genny.Generator, error) {
	g := genny.New()

	if err := opts.Validate(); err != nil {
		return g, err
	}

	data := map[string]interface{}{
		"opts": opts,
	}
	t := gogen.TemplateTransformer(data, template.FuncMap{})
	g.Transformer(t)

	g.RunFn(func(r *genny.Runner) error {
		return genFile(r, opts)
	})
	return g, nil
}
// New generator to create a grift task