services:
  group_purl.context_provider:
    class: Drupal\group_purl\Context\GroupPurlContext
    arguments: ['@entity_type.manager']
    tags:
      - { name: context_provider }
      - { name: event_subscriber }
  group_purl.group_context_routes:
    class: Drupal\group_purl\EventSubscriber\GroupContextRouteSubscriber
    arguments: ['@entity_type.manager', '@current_route_match', '@purl.matched_modifiers']
    tags:
      - { name: event_subscriber }

  group_purl.outbound_path_processor:
    class: Drupal\group_purl\PathProcessor\GroupPurlContextOutboundPathProcessor
    arguments:
      - '@purl.matched_modifiers'
      - '@purl.context_helper'
    tags:
      - { name: path_processor_outbound, priority: 10 }
