message model: - paragraphs (p, h1, code block, quote, ...) - lines - parts (inline markup), which can be recursive