public void DoUpdate(UpdateInfo updateInfo)
{
VersionManifest currentVersionManifest = localStructureManager.LoadManifest(this.CurrentVersion);
VersionManifest newVersionManifest = updateServer.GetManifest(updateInfo.Version);
UpdateRecipe recipe = currentVersionManifest.UpdateTo(newVersionManifest);
updaterChef.Cook(recipe);
localStructureManager.SetLastValidVersion(localStructureManager.GetExecutingVersion());
localStructureManager.SetCurrentVersion(updateInfo.Version);
CurrentVersion = updateInfo.Version;
DeleteOldVersions();
}