wordpress_adapter = $args['wordpress_adapter'] ?? new Wordpress_Adapter(); $this->plugin_status_adapter = $args['plugin_status_adapter'] ?? new Plugin_Status_Adapter( $this->wordpress_adapter ); $this->elementor_adapter = $args['elementor_adapter'] ?? new Elementor_Adapter(); } protected function get_tier() { $tier = $this->elementor_adapter->get_tier(); $filtered_tier = apply_filters( 'elementor/admin/homescreen_promotion_tier', $tier ) ?? $tier; return $this->normalize_tier( $filtered_tier ); } private function normalize_tier( string $tier ): string { return self::USER_TIER_AGENCY === $tier ? self::USER_TIER_ONE : $tier; } abstract public function transform( array $home_screen_data ): array; }