private async void MainLoop() { while (true) { await Task.Delay(1000).ConfigureAwait(true);; try { if (!_launched) { await CreateAndActivate().ConfigureAwait(false); _launched = true; } await UpdateTask().ConfigureAwait(false); AnswerTaskQuestions(); await SubmitTaskResults().ConfigureAwait(false); _tasksRepository.ReplaceTask(); } catch (ApiException apiExceptionx) { Console.WriteLine(apiExceptionx.Content.Trim()); break; } catch (Exception e) { Console.WriteLine(e); break; } finally { await SaveState().ConfigureAwait(false); } } }