issue #25 implement "listen" (initial cut), improve "smell"
save canonical form for game data