Anything dynamic is going to require it to be scripted - for example the upgradable crafting stations. The scripts change the JSON data of the object and update it in the animator, That is using pre-made data sets, so you have extra work if it was dynamic. And then the scripted interface on top - but again you can look at the interface for the upgradable objects for inspiration.