code: func (Model Model) Try(action Action) error {
  	if action == nil {
  		return fmt.Errorf("no action specified")
  	}
  
  	var err error
  	for attempt := uint(0); (0 == attempt || nil != err) && attempt <= Model.retry; attempt++ {
  		if attempt > 0 && Model.waitTime > 0 {
  			time.Sleep(Model.waitTime)
  		}
  
  		err = action(attempt)
  	}
  
  	return err
  }
docs: // Try ...