extracted app into object literal
fixes to shouldPlay api.  state stored in app