Implements a number of features.
- A good setup for passing actions in and out.
- Decks can do more now (clone/validate cards)
- Players have a couple of extra functions
- User can get info about the board and their hand.
- When joining a game, a name is passed in and validated, which is used to call functions and refer to other players when you don't (and shouldn't) know their IDs.