How to correctly add additional editingInputs

I have an addon (Markdown input) that adds a div with a CM6 instance to each field in the editor to allow editing the field in Markdown. However the insertion of the div is currently a “hack” - i.e. it does not interact with the editor logic, it just inserts the div in the DOM. This leads to all sorts of issues (focus trap stealing focus, scrolling with mouse wheel not working unless over the scrollbar etc.) so obviously it would be better to integrate my input type in the editor implementing the FocusableInputAPI/EditingInputAPI, add the input type to the Svelte store etc. (The Svelte store addition is a pure guess from my side, I don’t know the first thing about Svelte).

What would be the correct way of adding another editing input in addition to plain-text-input and rich-text-input?