It would be nice if there was a setEnvironment function. Basically, it would allow clients to see different things. This would be useful for a variety of situations, like night vision goggles and zone events. If I want to make a bunch of themed islands, like a winter island and summer island, this would allow me to set environments on the client depending on where they are. This would also allow for caves to become dark as you enter them.
This would not cause lag for the server, as it would only be sending info for the client to render. It would not lag for the client either, as they would just be switching what they would be seeing. they would NOT be seeing 2 environments at once.
With the function, you would define what would be sent and it would just send new info using the same function it does to send current server environment settings. With support for environment favorites/saving, you could make functions/events that would work like:
onPlayerEnterZone - Client - setEnvironment 0-9
where you can create multiple environments and save them to be sent.