Even though this seems more logical than what used to be there, I actually think it's wrong. The way in which the skin is stored is a standard single configuration field of which the value is the set of overrides (JSON object) that needs to be done to the default skin. Therefore, we do actually have to compare against the default skin to make sure that all changes for the current tenant are included, as the entire configuration field is re-saved every time. I believe this approach would cause all previously set config values to disappear.