Currently, to assign a (new) value to a sprite can be done either
a) by selecting a sprite property and assigning it a value
b) is more flexible that a) since one can use a string as property name and hence not hard code this in the C3 code allow creating generic functions for assigning values.
However, in b) one needs to distinguish between sprite properties, sprite instance variable and and behaviors - each accessing a different exposed collection of sprite, to get the assignment done.
Since each property name of a sprite (build-int, instance variable and for behaviors) are unique, why not allow loading many property at ones from a JSON.
Each JSON and dictionary key is used to load its respective value.
All a programmer has to do is create a -- or receive or create JSON string -- and load it into a sprite -- and all at ones values are set.
Btw, one key could be a distinguished key (e.g. c3_create:true and c3_name) which indicates if a new instance of an object type of name, should be created as well.
I believe that such an addition allows creating very flexible code while signifcantly reducing the need for writing external script code.