store components, types, etc in close proximity rather than split by "type"
if explicitly null (title set to blank or the phrase null in YAML), it will set untitled; variants will be amended with title and description from parent if they are undefined on the variant