Virtual devices and state changes (isStateChange)

I know virtual devices can be used in many ways, one of them, which I use the most, is to control multiple devices.
For instance, I have 6 shades in a room, and a Virtual Shade that commands all of them.

If I close all using the Virtual Shade, the state on the Virtual Shade will change to "closed", so far so good. But then if I open just one, and later an automation tries to close all via the Virtual Shade, nothing will happen, because the Virtual Shade is already in "closed" state, so it doesn't send the event.

Likewise, I have added a Virtual Thermostat to control 4 physical thermostats.
Again, after setting the coolingSetpoint on the Virtual, to, let's say, 23.5C, which will propagate to all 4 via rules, if I change just one to a different coolingSetpoint (23C), later I can't use the Virtual one to "synchronize" all to the same initial coolingSetpoint (23.5C).

A long time ago I have created my own Virtual Shade driver to overcome that issue, but Thermostat is way more complex, and it made me think that this is a common scenario that could be handled by the built-in drivers.

My suggestion is to add a preference to all built-in virtual drivers, "Force State Change", or some other name you like, that will basically set isStateChange: true on all events sent.

@gopher.ny, @mike.maxwell