I don't understand why some engines have to make this stuff hidden away - stencyl was like this too.
In game maker you could just do 'worker=instance_create(x,y,object);'
And worker would equal the objects ID.
Then you could just do 'worker.x=400;' to change the value x or whatever value inside the object. Really easy.
Why other game engines have to make it really hard to do the same thing, I do not know?
RamPack - what happens if any instances are created that aren't recorded in that global (say instances which you don't want to manipulate)? It'd seem the system wouldn't work if any instances get created but aren't tracked?