code: func (n ID) Decode() (name string, version string, err error) {
  	splits := strings.Split(string(n), "-")
  	if len(splits) != 2 {
  		err = errInvalidPluginID.GenWithStackByArgs(string(n))
  		return
  	}
  	name = splits[0]
  	version = splits[1]
  	return
  }
docs: // Decode decodes a plugin id into name, version parts.