Add GameMode enum and PlayerGameModeChangeEvent