Initial structure for #17, added options for new features, moved content factories to separate file