code: func (e *domEngine) New(c Compo) error {
  	e.once.Do(e.init)
  	e.mutex.Lock()
  	defer e.mutex.Unlock()
  
  	e.close()
  
  	if err := e.render(c); err != nil {
  		return err
  	}
  
  	ic := e.compos[c]
  	e.rootID = ic.ID
  
  	e.changes = append(e.changes, change{
  		Action: setRoot,
  		NodeID: ic.ID,
  	})
  
  	return e.sync()
  }
docs: // New renders the given component and set it as the dom root.