Added progression class to separate the script runtime from the progress logging. The progress class will support both console and GUI front-ends