It really does become clearer why some languages (Clojure) go with immutable data structures ("values").

Why don't we start with correct behavior (`_.cloneDeep`) and then adjust for performance if it proves to be a problem. We're not storing *that* much data in prefs or view state.

Note that you're only doing a _.cloneDeep in one place (`get` for layers) and we should handle this consistently.