That's a really good work vex ;)
I'm developping a jass/vjass framework and maybe we could cooperate, but that's not the question of my post.
You are only using variable setting :
set mp.abilityid='Ahpm' //let's say this is polymorph's rawcode, ok?
so my question is why you don't use a method that takes function's code and order at the same time since both are tightly linked ?
I assume the difference is really small and you may want to keep the same syntax for all "data" declarations, did I miss something else ?