variants = []; return; } $this->variants = array_map( fn( array $variant ) => Component_Variant::make( $variant ), $variants_meta['variants'] ); } public static function make( array $variants_meta ): self { return new self( $variants_meta ); } public function to_associative_array(): array { return [ 'variants' => array_map( fn( Component_Variant $variant ) => $variant->to_associative_array(), $this->variants ), ]; } }