Authored, not scripted
Configurators usually get rich the same way: somebody writes JavaScript per product line, then maintains it forever. We put that expressiveness into the model instead, as layers, groups and rules, so the fifth product costs about what the first one did.