Rollback

This is the first stab at a framework to roll back tasks when critical steps fail.