public void LoadOSMToDatabase(Action <Task> continuation) { _phase = MainControllerStates.LoadToDb; _watch.Start(); _dbLoader.QueryString = Model.QueryString; var tasks = _dbLoader.BeginLoadWays(4); Task.Factory.StartNew(() => { Task.WaitAll(tasks); continuation(null); _watch.Stop(); _phase = MainControllerStates.Idle; }); }