Restructured program

GameData is responsible for data receiving, Game is responsible for game
logic.