docs: def on_parent(self, *args):
          """Create some subwidgets and trigger the first update."""
          if not self.parent or hasattr(self, '_parented'):
              return
          if not self.wallpaper_path:
              Logger.debug("Board: waiting for wallpaper_path")
              Clock.schedule_once(self.on_parent, 0)
              return
          self._parented = True
          self.wallpaper = Image(source=self.wallpaper_path)
          self.bind(wallpaper_path=self._pull_image)
          self._pull_size()
          self.kvlayoutback = KvLayoutBack(**self.widkwargs)
          self.arrowlayout = ArrowLayout(**self.widkwargs)
          self.spotlayout = FinalLayout(**self.widkwargs)
          self.kvlayoutfront = KvLayoutFront(**self.widkwargs)
          for wid in self.wids:
              self.add_widget(wid)
              wid.pos = 0, 0
              wid.size = self.size
              if wid is not self.wallpaper:
                  self.bind(size=wid.setter('size'))
          self.update()