code: func NewManager(o *ManagerOptions) *Manager {
  	if o.Metrics == nil {
  		o.Metrics = NewGroupMetrics(o.Registerer)
  	}
  
  	m := &Manager{
  		groups: map[string]*Group{},
  		opts:   o,
  		block:  make(chan struct{}),
  		logger: o.Logger,
  	}
  
  	if o.Registerer != nil {
  		o.Registerer.MustRegister(m)
  	}
  
  	o.Metrics.iterationsMissed.Inc()
  	return m
  }
docs: // NewManager returns an implementation of Manager, ready to be started
  // by calling the Run method.