code: func NewFactory(model interface{}) *Factory {
  	fa := &Factory{}
  	fa.model = model
  	fa.nameIndexMap = make(map[string]int)
  
  	fa.init()
  	return fa
  }
docs: // NewFactory returns a new factory for specified model class
  // Each generator is applied in the order in which they are declared