Made pause/resume work.
Cleaned up the code it a bit... it nearly works as well as it used to..
Further refactorings.
Mid-way through refactor, moving code
Fixed up ProgramNodes, created simple test case.
Added test for run through of nested programs.
Expanded program node tests
Moar unit tests