docs: def update(self, *args):
          """Force an update to match the current state of my character.
  
          This polls every element of the character, and therefore
          causes me to sync with the LiSE core for a long time. Avoid
          when possible.
  
          """
  
          # remove widgets that don't represent anything anymore
          Logger.debug("Board: updating")
          self.remove_absent_pawns()
          self.remove_absent_spots()
          self.remove_absent_arrows()
          # add widgets to represent new stuff
          self.add_new_spots()
          if self.arrow_cls:
              self.add_new_arrows()
          self.add_new_pawns()
          self.spotlayout.finalize_all()
          Logger.debug("Board: updated")