Basic Objects and their behaviors (Brainstorming): Ball Paddles ScoreBoard Net ==== ======= ========== === ChangeSpeed MoveUp Init Draw BouncePaddle MoveDown AddPlayer1 Erase BounceWall CheckCollision AddPlayer2 Update Reset Init HasEnded Draw Draw GetWinner Erase Erase Draw Update Update Erase Update Numbers ======= Draw Erase SetNumber Ball, Paddles, ScoreBoard, and Net all share: Draw, Erase, Update Therefore, these all have a common base class: GameElement