As a developer, I want to refactor GameState.play into multiple helper functions so that the code is easy to understand, maintain, and test. This story is complete when GameState.play is split into at least 3 helper functions and its cyclomatic complexity drops from grade C to grade B.