I have put together a widget designed to allow users to add/remove layers at runtime either one-by-one or as a group of related layers, in a simple, user-friendly interface.
Use case it was designed for:
I am building a map to be a central data repository for a city government. Users usually only want to see data from their department, but may occasionally need access to other data. There is far too much data visually/performance wise to have it all loaded at a single time. Many users have little to no GIS or computer skills.
Problems in current widgets this widget is designed to compensate for: