code: func (c *GRPCClient) Dispense(name string) (interface{}, error) {
  	raw, ok := c.Plugins[name]
  	if !ok {
  		return nil, fmt.Errorf("unknown plugin type: %s", name)
  	}
  
  	p, ok := raw.(GRPCPlugin)
  	if !ok {
  		return nil, fmt.Errorf("plugin %q doesn't support gRPC", name)
  	}
  
  	return p.GRPCClient(c.doneCtx, c.broker, c.Conn)
  }
docs: // ClientProtocol impl.