code: func (p *Plugin) OnConnect(callback func() error) {
  	p.Lock()
  	defer p.Unlock()
  
  	if p.connected {
  		if err := callback(); err != nil {
  			p.Log.Errorf("callback for OnConnect failed: %v", err)
  		}
  	} else {
  		p.onConnection = append(p.onConnection, callback)
  	}
  }
docs: // OnConnect executes callback if plugin is connected, or gathers functions from all plugin with ETCD as dependency