Much cleaner, should have done it this way in the first place.
For now, only dictionariess, lists/tuples, bytes and strings are supported.
I've decided to use property lists to define mdl control scripts. Some names will probably get changed, and I still need to write code for writing a plist, but the hard part is pretty much done :)