Engine support for the per-connection Socket.IO API: hands are fetched explicitly via get_player_cards(player) and the shared status no longer embeds a single player's cards.