Uso de la clase ObjectProperty

Acabo de empezar a aprender kivy y estoy muy confundido con el uso de la clase ObjectProperty, y cómo no toma a Ninguno como un argumento. ¿Alguien podría explicarlo por favor? Lo encontré en el tutorial de 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

Respuestas a la pregunta(1)

Su respuesta a la pregunta