code: func Register(name string, plugin Pluggable) error {
  	var err error
  
  	switch Type(plugin.PluginType()) {
  	case AgentProviderPlugin:
  		err = registerAgentProviderPlugin(name, plugin)
  
  	case AgentPlugin:
  		err = registerAgentPlugin(name, plugin)
  
  	case ProvisionTargetResolverPlugin:
  		err = registerProvisionTargetResolverPlugin(name, plugin)
  
  	case ConfigMutatorPlugin:
  		err = registerConfigMutator(name, plugin)
  
  	default:
  		err = fmt.Errorf("unknown plugin type %d from %s", plugin.PluginType(), name)
  	}
  
  	return err
  }
docs: // Register registers a type of plugin into the choria server