Ah, thanks R0J0hound, that's a great idea. It seems so obvious now that you handed it to me on a silver platter, haha. XD
And yeah, I am using create by name as a half-baked way of composing more complicated objects in a way that the pieces can be swapped in and out dynamically (a very poor man's component system, I guess.) So, I'll add some name variables or an array of names to an object, and at runtime I'll spawn objects with those names and add them to a hierarchy or manually store their UIDs. If I ever want to change them to another type, I can delete the instances, change the names, and spawn new objects. Since we don't have object or family type variables in this engine, I used this workaround, but it's also fraught with peril. It's so error-prone.
Anyway, thanks again, much-appreciated.