Make StoryPlayer handle multiple callbacks per step. Update code so existing tests don't break