I think that we should move this entire restore_done() into a separate method or at least the contents of the method. This has a lot more going on than the previous closure.