code: func (p *Plugin) Register(name interface{}, listener func(Status)) {
  	p.mtx.Lock()
  	defer p.mtx.Unlock()
  
  	if p.listeners == nil {
  		p.listeners = map[interface{}]func(Status){}
  	}
  
  	p.listeners[name] = listener
  }
docs: // Register a listener to receive status updates. The name must be comparable.