Also it should have a way to restrict adding certain things (regions, blocks etc) so the editor will stay within the rules of the design.
Eg don’t put two photos next to each other. Or a piece of text should always have a header. Or after 3 text blocks there should be an image. A page should always start with a text and never with an image.
Things like that.