def on_touch_down(self, touch):
        """If hit, record my starting position, that I may return to it in
        ``on_touch_up`` after creating a real :class:`board.Spot` or
        :class:`board.Pawn` instance.

        """
        if not self.collide_point(*touch.pos):
            return False
        self.pos_start = self.pos
        self.pos_down = (
            self.x - touch.x,
            self.y - touch.y
        )
        touch.grab(self)
        self._touch = touch
        return True