diff --git a/pusher_mini.module b/pusher_mini.module
index f82ce39..5a7026d 100644
--- a/pusher_mini.module
+++ b/pusher_mini.module
@@ -1,14 +1,18 @@
 <?php
 
-declare(strict_types = 1);
+/**
+ * @file
+ */
+
+declare(strict_types=1);
 
-use Drupal\pusher_mini\HookPageBottom;
+use Drupal\Core\Hook\Attribute\LegacyHook;
+use Drupal\pusher_mini\Hook\PusherMiniHooks;
 
 /**
  * Implements hook_page_bottom().
  */
+#[LegacyHook]
 function pusher_mini_page_bottom(array &$page_bottom): void {
-  /** @var \Drupal\pusher_mini\HookPageBottom $hook */
-  $hook = \Drupal::service(HookPageBottom::class);
-  $hook->hookPageBottom($page_bottom);
+  \Drupal::service(PusherMiniHooks::class)->pageBottom($page_bottom);
 }
diff --git a/pusher_mini.services.yml b/pusher_mini.services.yml
index 11f71bb..3c898ec 100644
--- a/pusher_mini.services.yml
+++ b/pusher_mini.services.yml
@@ -38,3 +38,7 @@ services:
   Drupal\pusher_mini\AuthenticatedUserInterface:
     alias: 'pusher_mini.authenticated_user'
     public: true
+
+  Drupal\pusher_mini\Hook\PusherMiniHooks:
+    class: Drupal\pusher_mini\Hook\PusherMiniHooks
+    autowire: true
diff --git a/src/Hook/PusherMiniHooks.php b/src/Hook/PusherMiniHooks.php
new file mode 100644
index 0000000..edec38f
--- /dev/null
+++ b/src/Hook/PusherMiniHooks.php
@@ -0,0 +1,23 @@
+<?php
+
+namespace Drupal\pusher_mini\Hook;
+
+use Drupal\pusher_mini\HookPageBottom;
+use Drupal\Core\Hook\Attribute\Hook;
+
+/**
+ * Hook implementations for pusher_mini.
+ */
+class PusherMiniHooks {
+
+  /**
+   * Implements hook_page_bottom().
+   */
+  #[Hook('page_bottom')]
+  public static function pageBottom(array &$page_bottom): void {
+    /** @var \Drupal\pusher_mini\HookPageBottom $hook */
+    $hook = \Drupal::service(HookPageBottom::class);
+    $hook->hookPageBottom($page_bottom);
+  }
+
+}
