diff --git a/element451_forms.module b/element451_forms.module
index ad963b1..80b380c 100644
--- a/element451_forms.module
+++ b/element451_forms.module
@@ -1,23 +1,20 @@
 <?php
 
+use Drupal\Core\Hook\Attribute\LegacyHook;
+use Drupal\element451_forms\Hook\Element451FormsHooks;
+
 /**
  * Implements hook_entity_type_build() to add the Element Settings form to Webform.
  */
+#[LegacyHook]
 function element451_forms_entity_type_build(array &$entity_types) {
-  if (isset($entity_types['webform'])) {
-    // Add the custom element settings form.
-    $entity_types['webform']->setFormClass('element_settings_form', 'Drupal\element451_forms\Form\Webform\WebformEntitySettingsElementForm');
-  }
+  \Drupal::service(Element451FormsHooks::class)->entityTypeBuild($entity_types);
 }
 
 /**
  * Implements hook_mail().
  */
+#[LegacyHook]
 function element451_forms_mail($key, &$message, $params) {
-  switch ($key) {
-    case 'webform_submission_failed':
-      $message['subject'] = $params['subject'];
-      $message['body'][] = $params['body'];
-      break;
-  }
+  \Drupal::service(Element451FormsHooks::class)->mail($key, $message, $params);
 }
diff --git a/element451_forms.services.yml b/element451_forms.services.yml
index 8b71903..45a54f4 100644
--- a/element451_forms.services.yml
+++ b/element451_forms.services.yml
@@ -2,3 +2,7 @@ services:
   element451_forms.element_api:
     class: Drupal\element451_forms\Service\ElementApi
     arguments: ['@http_client', '@config.factory', '@logger.channel.default']
+
+  Drupal\element451_forms\Hook\Element451FormsHooks:
+    class: Drupal\element451_forms\Hook\Element451FormsHooks
+    autowire: true
diff --git a/src/Hook/Element451FormsHooks.php b/src/Hook/Element451FormsHooks.php
new file mode 100644
index 0000000..5f7ce36
--- /dev/null
+++ b/src/Hook/Element451FormsHooks.php
@@ -0,0 +1,35 @@
+<?php
+
+namespace Drupal\element451_forms\Hook;
+
+use Drupal\Core\Hook\Attribute\Hook;
+/**
+ * Hook implementations for element451_forms.
+ */
+class Element451FormsHooks
+{
+    /**
+     * Implements hook_entity_type_build() to add the Element Settings form to Webform.
+     */
+    #[Hook('entity_type_build')]
+    public function entityTypeBuild(array &$entity_types)
+    {
+        if (isset($entity_types['webform'])) {
+            // Add the custom element settings form.
+            $entity_types['webform']->setFormClass('element_settings_form', 'Drupal\element451_forms\Form\Webform\WebformEntitySettingsElementForm');
+        }
+    }
+    /**
+     * Implements hook_mail().
+     */
+    #[Hook('mail')]
+    public function mail($key, &$message, $params)
+    {
+        switch ($key) {
+            case 'webform_submission_failed':
+                $message['subject'] = $params['subject'];
+                $message['body'][] = $params['body'];
+                break;
+        }
+    }
+}
