code: func New(raw []byte, id string, store storage.Store, opts ...func(*Manager)) (*Manager, error) {
  
  	parsedConfig, err := config.ParseConfig(raw, id)
  	if err != nil {
  		return nil, err
  	}
  
  	services, err := parseServicesConfig(parsedConfig.Services)
  	if err != nil {
  		return nil, err
  	}
  
  	m := &Manager{
  		Store:    store,
  		Config:   parsedConfig,
  		ID:       id,
  		services: services,
  	}
  
  	for _, f := range opts {
  		f(m)
  	}
  
  	return m, nil
  }
docs: // New creates a new Manager using config.