Refactor turn advance logic.