package financial // NewCalculator creates a fully configured FinancialCalculator with all dependencies func NewCalculator(config *Config) Calculator { // Create individual calculators npvCalc := NewNPVCalculator() irrCalc := NewIRRCalculator() paybackCalc := NewPaybackCalculator() capexEstimator := NewCapexEstimator(config) transportCalc := NewTransportCostCalculator(config) co2Calc := NewCO2Calculator(config) sensitivityCalc := NewSensitivityAnalyzer(config, npvCalc) riskAssessor := NewRiskAssessor(config) // Create main calculator with all dependencies return NewFinancialCalculator( config, npvCalc, irrCalc, paybackCalc, sensitivityCalc, riskAssessor, co2Calc, capexEstimator, transportCalc, ) }