docs: def finalize(self, initial=True):
          """Call this after you've created all the PawnSpot you need and are ready to add them to the board."""
          if getattr(self, '_finalized', False):
              return
          if (
                  self.proxy is None or
                  not hasattr(self.proxy, 'name')
          ):
              Clock.schedule_once(self.finalize, 0)
              return
          if initial:
              self.name = self.proxy.name
              self.paths = self.proxy.setdefault(
                  '_image_paths', self.default_image_paths
              )
              zeroes = [0] * len(self.paths)
              self.offxs = self.proxy.setdefault('_offxs', zeroes)
              self.offys = self.proxy.setdefault('_offys', zeroes)
              self.proxy.connect(self._trigger_pull_from_proxy)
          self.bind(
              paths=self._trigger_push_image_paths,
              offxs=self._trigger_push_offxs,
              offys=self._trigger_push_offys
          )
          self._finalized = True
          self.finalize_children()