rather than treating layer groups as actual map (and data) layers, treating them as simple views should make things easier to manage data-wise and code-wise.
main drawback of this approach is that in general only one layer group can be active at any given time, so analytical contexts in which showing overlaps of two or more layer groups is needed would need a different strategy.