Content and extension structure refactor

Content extension structure refactor
Fixes #4, fixes #11, closes #17, fixes #20, closes #21, fixes #23