A Markdown parser + object model in scala