A card game engine