Upon clicking, all the other modules should be loaded using client side checks rather than server side checks.
It's possible, we might want to compare code in Page previews with this feature - the UI component here is very similar, and this might benefit from a shared component in core.
- A single lightweight module is added to the page.
- The module is not added on skins where it is not needed e.g. Minerva
- The module has targets 'desktop' and 'mobile' so it loads on skins in the mobile domain.
 For comparison, VisualEditor is 10.7kb and Page previews is a delayed load of 18.5kb.