Refactor play and demo states