calculators = $calculators; } public function set_fallback( Element_Usage_Calculator $calculator ): void { $this->fallback = $calculator; } public function get_calculator_for( array $element, $element_instance ): ?Element_Usage_Calculator { foreach ( $this->calculators as $calculator ) { if ( $calculator->can_calculate( $element, $element_instance ) ) { return $calculator; } } return $this->fallback; } }