Design the class structure and interface relationships for a multiplayer chess game, ensuring scalability for different rule variations.