code: func NewMux(merger Merger) *Mux {
  	mux := &Mux{
  		sources: make(map[string]chan interface{}),
  		merger:  merger,
  	}
  	return mux
  }
docs: // NewMux creates a new mux that can merge changes from multiple sources.