- Deep-copy JsonObject configs via deepCopy() before storing in the definition to prevent external mutation of the parsed JSON tree - Log a warning when a component config value is not a JsonObject, making misconfigured JSON easier to diagnose