Added the ability to have scripts go on repeat.

Side effect of this commit, is that some class objects now supports deep copying. (Use constructors for deep copying)