Design a multiplayer online chess game, focusing on object-oriented design patterns, game state management, and API design.