code: func NewMacroHandler() *MacroHandler {
  	h := &MacroHandler{
  		Router: NewRouter(),
  		Logger: zap.NewNop(),
  	}
  
  	h.HandlerFunc("GET", "/api/v2/macros", h.handleGetMacros)
  	h.HandlerFunc("POST", "/api/v2/macros", h.handlePostMacro)
  	h.HandlerFunc("GET", "/api/v2/macros/:id", h.handleGetMacro)
  	h.HandlerFunc("PATCH", "/api/v2/macros/:id", h.handlePatchMacro)
  	h.HandlerFunc("PUT", "/api/v2/macros/:id", h.handlePutMacro)
  	h.HandlerFunc("DELETE", "/api/v2/macros/:id", h.handleDeleteMacro)
  
  	return h
  }
docs: // NewMacroHandler creates a new MacroHandler