Allow users to call for data in HTML...
Allow users who want to completely design CPOnline pages "from the ground up" to switch on a setting in Configuration and Setup. Users here should be allowed to write custom HTML for CPOnline that will appear on the page exactly as it is written with no template surrounding it. Each page type (Account, Item List, Category Pages, Subcategory Pages, Item Detail, Cart, etc) containing items should work a certain way by default, but allow users to modify it or completely delete the content and start over.
Calling for a variable should be done like this "<strong>[ITEM_NUMBER]</strong>" in code, or with "##item-number##" wild cards.
Users should be able to start all the way from the top, with the Doctype declaration, and run all the way down to "</html>" at the very end of the page.
Users should be able to add widgets like "##ALL-Categories##" at specific spots, and configure HTML and Labels/Text to wrap around categories.
If something quits working, users should have a "Reset Defaults" button for the widgets, or the page section they're working on so they can go back to when it was last working--or there should be a page where users can copy and paste the default configurations to restore their page to working order.
For users who don't want this, just leave the rest of CPOnline in place as-is. For users who do want this level of control, it should be a separate template, like "Root Source" or something.