Uso da classe ObjectProperty

Eu comecei a aprender kivy e estou muito confuso sobre o uso da classe ObjectProperty, e como ela leva None como argumento. Alguém poderia explicar por favor? Eu encontrei no tutorial kivy:

class PongGame(Widget):
    ball = ObjectProperty(None)

    def update(self, dt):
        self.ball.move()

        # bounce off top and bottom
        if (self.ball.y < 0) or (self.ball.top > self.height):
            self.ball.velocity_y *= -1

        # bounce off left and right
        if (self.ball.x < 0) or (self.ball.right > self.width):
            self.ball.velocity_x *= -1

questionAnswers(1)

yourAnswerToTheQuestion