code: func NewEngine(cfg *config.Config, t *http.Transport, options ...func(*Engine)) *Engine {
  	engine := &Engine{
  		config:        cfg,
  		stop:          make(chan struct{}),
  		targetVersion: "unknown",
  		client:        &http.Client{Transport: t},
  	}
  
  	for _, opt := range options {
  		opt(engine)
  	}
  
  	if engine.timeManager == nil {
  		engine.timeManager = defaultTimeManager{}
  	}
  
  	return engine
  }
docs: // NewEngine creates a new Engine based on the provided config structure.
  // It can be extended by passing specific options which alter the initialization
  // of the Engine itself.