On a plugin-less Worpress installation the WYSIWYG editor allows to write a page down from top to bottom with style buttons (lists, font, italics, bold, add picture ...).
What I am missing is the possibility to define custom page elements. Example: a button next to "Add picture" that is labeled "Add box" and does, well, add a box, with headline and content (where the design was defined somewhere in the template code). So that the users (the content editors without HTML/CSS knowledge) can build the page not only with formatted texts and pictures, but additionally with WYSIWYG-enabled custom content elements (that are defined by me, the theme developer).
How would I do this, assuming I write my own theme from scratch?