Quote Originally Posted by coderbob View Post
Only other way would be to store them in an object and pass it around but the GUI is .ui defined and can change at any time as can the script.
I don't see what the definition of a GUI has to do with passing objects between script engines. Your script returns something (it can even be a JSON formatted string) and you can pass this something as input of another script on another script engine in another thread.

Two it would let me have a persistent state across script evals since some processing depends on how many time X, Y etc have occurred. Like before this processing could take place in an undetermined thread.
You can have the same by doing it properly, i.e. by using the "Memento" (aka Hibernate) design pattern.