code: func (g *Gui) Update(f func(*Gui) error) {
  	go func() { g.userEvents <- userEvent{f: f} }()
  }
docs: // Update executes the passed function. This method can be called safely from a
  // goroutine in order to update the GUI. It is important to note that the
  // passed function won't be executed immediately, instead it will be added to
  // the user events queue. Given that Update spawns a goroutine, the order in
  // which the user events will be handled is not guaranteed.