When a submission fails (due to errors, or due to halt for evaluation) a rollback phase should start. Actions need to register 'actions' with enough info for a rollback, e.g., moved this file to here ... rollback will move it back. The Action class/interface should have a undo method that takes these 'actions' and performs the rollback.