Game flow refactor