public NewExpenseViewModel(IDataStore dataStore, IProgressCalculator progressCalculator) : base(dataStore)
        {
            try
            {
                _progressCalculator = progressCalculator;
                var _task = _progressCalculator.CalculateProgress();

                MessagingCenter.Subscribe <BudgetsViewModel>(this, Constants.CategoriesChanged, async(sender) =>
                {
                    Progress = new ObservableCollection <BudgetProgress>(await _progressCalculator.CalculateProgress());
                });
                MessagingCenter.Subscribe <ItemEditorViewModel>(this, Constants.ExpenseChanged, async(sender) =>
                {
                    Progress = new ObservableCollection <BudgetProgress>(await _progressCalculator.CalculateProgress());
                });
                Progress = new ObservableCollection <BudgetProgress>(_task.Result);
            }catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                throw;
            }
        }