Controller keeps track of play state and button state in a chat.