Move the Player state classes to their own files.
Use an anonymous namespace to isolate some functions.
Return from start_game in a more normal way.
Create the menu Executor on the stack.
Refactor the main loop out of start_game.