Nicht jede Styling- oder Konfigurationsoption, nicht jede kleine Erweiterung der Funktionalität erfordert ein eigenes Widget. Es mag beispielsweise so aussehen, als würden mehrere Formular-Widgets benötigt, eines, um sich anzumelden, ein weiteres zur Registrierung für eine Veranstaltung, und noch eines, um einen Newsletter zu abonnieren. Diese Formulare unterscheiden sich zwar minimal hinsichtlich der Daten, die sie vom Besucher anfordern sowie der Aktionen, die jeweils angestoßen werden. Dennoch können sie in einem Widget zusammengefasst werden, in dessen Eigenschaften der Redakteur dann mit einem Schalter den Zweck des Formulars auswählen kann, damit es wie gewünscht aussieht und funktioniert. Manchmal können Widgets sogar auf ihren Kontext zurückreifen, um beispielsweise das zu verwendende CSS zu ermitteln: „Bin ich auf einer Landing-Page?“
Wenn man die allgemeine Anforderung im Hinterkopf behält, dass Widgets weder überladen noch schwer zu benutzen sein sollen, kann man Redakteuren leicht Funktionalität, ein Format, einen Stil usw. mit Hilfe eines enum
-Attributs anbieten, bei dem sich die Optionen gegenseitig ausschließen. Mit einen multienum
-Attribut dagegen kann man mehrere miteinander kombinierbare Optionen auswählbar machen.