With regards to the p.s….
What I think I’m suggesting (over the longer run) is that the components properties become json and all the component “construction” is done client-side, tho’ server side could still also be available..
Now the shortcode is nothing but a placemarker with a unique id. That shortcode becomes a div or a span with a data-attribute for the ase_id. That id is picked up client side, along with the json and the markup magic is built from there.
I think in a WP API world this makes a lot of sense. Heck, it might even be possible to skip the shortcode and just insert the div / span into the_content. Furthermore, once things move beyond / outside the WYSIWYG, this also still makes sense. This is more or less independent of the_content. In fact, the brunt of this is probably transferable to just about any CMS. Maybe? 🙂
Note: I’m not saying this approach is easy. Not at all 🙂 But it does make more sense, at least to me 🙂