private async Task InitializeFields(IEnumerable <SkillNode> skillNodes)
        {
            _gameData.PassiveNodes = skillNodes;

            var computationFactory = new ComputationFactory(GameData);
            var calculator         = computationFactory.CreateCalculator();

            _builderFactories = await computationFactory.CreateBuilderFactoriesAsync();

            _parser = await computationFactory.CreateParserAsync();

            _schedulers  = new ComputationSchedulerProvider();
            _observables = new ComputationObservables(_parser);
            _calculator  = new ObservableCalculator(calculator, _schedulers.CalculationThread);
        }