code: func CatchSignals(logger blog.Logger, callback func()) {
  	sigChan := make(chan os.Signal, 1)
  	signal.Notify(sigChan, syscall.SIGTERM)
  	signal.Notify(sigChan, syscall.SIGINT)
  	signal.Notify(sigChan, syscall.SIGHUP)
  
  	sig := <-sigChan
  	if logger != nil {
  		logger.Infof("Caught %s", signalToName[sig])
  	}
  
  	if callback != nil {
  		callback()
  	}
  
  	if logger != nil {
  		logger.Info("Exiting")
  	}
  	os.Exit(0)
  }
docs: // CatchSignals catches SIGTERM, SIGINT, SIGHUP and executes a callback
  // method before exiting