code: func newHAManager(engine *Engine, timeout time.Duration) *haManager {
  	now := time.Now()
  	return &haManager{
  		engine: engine,
  		status: seesaw.HAStatus{
  			LastUpdate: now,
  			Since:      now,
  			State:      seesaw.HAUnknown,
  		},
  		timeout:    timeout,
  		stateChan:  make(chan seesaw.HAState, 1),
  		statusChan: make(chan seesaw.HAStatus, 1),
  	}
  }
docs: // newHAManager creates a new haManager with the given HA state timeout.