Move the MarkdownComposer to its own file.
Change `compose` API to use catalog.
Any number of templates can used by frontmatter.