code: func (m *Broadcaster) loop() {
  	// Deliberately not catching crashes here. Yes, bring down the process if there's a
  	// bug in watch.Broadcaster.
  	for {
  		event, ok := <-m.incoming
  		if !ok {
  			break
  		}
  		if event.Type == internalRunFunctionMarker {
  			event.Object.(functionFakeRuntimeObject)()
  			continue
  		}
  		m.distribute(event)
  	}
  	m.closeAll()
  	m.distributing.Done()
  }
docs: // loop receives from m.incoming and distributes to all watchers.