Added type-safe argument passing to the runner. Added taskID's so the restore dialog can keep track of what tasks it needs to monitor.