makes StoryMetadata generic to allow different story narratives

Fixes #66