public async Task <bool> UninstallModAsync() { var task = new Task <bool>(() => { try { FileWrite.SafeDeleteFile(FileWrite.GetFileOutputPath(Location, RealName, _legacy)); ModsManager.RunOnMainSyncContext(state => ModsManager.InstalledMods.Remove(this)); return(true); } catch (Exception ex) { MessageDisplay.RaiseError(new ErrorEventArgs(ex)); return(false); } }); task.Start(); return(await task); }