break MarkdownEditorWidget into MVP