package tools type Tool interface{ Name() string } var registry = map[string]Tool{} func Register(t Tool){ registry[t.Name()] = t } func Get(name string) Tool{ return registry[name] }