code: func Run(name string, c *Context) error {
  	name = applyNamespace(name)
  
  	if griftList[name] == nil {
  		if name == "list" {
  			PrintGrifts(os.Stdout)
  			return nil
  		}
  		return fmt.Errorf("No task named '%s' defined!", name)
  	}
  	if c.Verbose {
  		defer func(start time.Time) {
  			log.Printf("Completed task %s in %s\n", name, time.Now().Sub(start))
  		}(time.Now())
  		log.Printf("Starting task %s\n", name)
  	}
  	return griftList[name](c)
  }
docs: // Run a grift. This allows for the chaining for grifts.
  // One grift can Run another grift and so on.