- construct empty or decks composed of n "decks" of cards
- sort by standard ordering or suit ordering, and shuffle them using
an RNG
- get, add, remove
- deal from the tail of a deck, or from any sequence of indices
This API will be the cornerstone of how games are managed.