incorporate doubly circular linked lists to keep track of the players in a game
crude state machine to provide context for client disconnections.

i.e. differentiate between intentionally disconnecting the socket at the end of a game versus a network/server failure.