diff --git a/src/network_manager.cpp b/src/network_manager.cpp
index 7db5f7f..51f0729 100644
--- a/src/network_manager.cpp
+++ b/src/network_manager.cpp
@@ -36,7 +36,8 @@
     "PropertiesChanged',arg0='org.freedesktop.network1.Link',";
 
 Manager::Manager(stdplus::PinnedRef<sdbusplus::bus_t> bus,
-                 DelayedExecutor& reload, stdplus::zstring_view objPath,
+                 stdplus::PinnedRef<DelayedExecutor> reload,
+                 stdplus::zstring_view objPath,
                  const std::filesystem::path& confDir) :
     ManagerIface(bus, objPath.c_str(), ManagerIface::action::defer_emit),
     reload(reload), bus(bus), objPath(std::string(objPath)), confDir(confDir),
@@ -70,7 +71,7 @@
     }
         })
 {
-    reload.setCallback([&]() {
+    reload.get().setCallback([&]() {
         for (auto& hook : reloadPreHooks)
         {
             try
diff --git a/src/network_manager.hpp b/src/network_manager.hpp
index e119acc..57db371 100644
--- a/src/network_manager.hpp
+++ b/src/network_manager.hpp
@@ -44,7 +44,8 @@
      *  @param[in] objPath - Path to attach at.
      *  @param[in] confDir - Network Configuration directory path.
      */
-    Manager(stdplus::PinnedRef<sdbusplus::bus_t> bus, DelayedExecutor& reload,
+    Manager(stdplus::PinnedRef<sdbusplus::bus_t> bus,
+            stdplus::PinnedRef<DelayedExecutor> reload,
             stdplus::zstring_view objPath,
             const std::filesystem::path& confDir);
 
@@ -98,7 +99,7 @@
      */
     inline void reloadConfigs()
     {
-        reload.schedule();
+        reload.get().schedule();
     }
 
     /** @brief Persistent map of EthernetInterface dbus objects and their names
@@ -122,7 +123,7 @@
 
   protected:
     /** @brief Handle to the object used to trigger reloads of networkd. */
-    DelayedExecutor& reload;
+    stdplus::PinnedRef<DelayedExecutor> reload;
 
     /** @brief Persistent sdbusplus DBus bus connection. */
     stdplus::PinnedRef<sdbusplus::bus_t> bus;
diff --git a/src/network_manager_main.cpp b/src/network_manager_main.cpp
index a65e635..b4150a1 100644
--- a/src/network_manager_main.cpp
+++ b/src/network_manager_main.cpp
@@ -68,7 +68,8 @@
     sdbusplus::server::manager_t objManager(bus, DEFAULT_OBJPATH);
 
     stdplus::Pinned<TimerExecutor> reload(event, std::chrono::seconds(3));
-    Manager manager(bus, reload, DEFAULT_OBJPATH, "/etc/systemd/network");
+    stdplus::Pinned<Manager> manager(bus, reload, DEFAULT_OBJPATH,
+                                     "/etc/systemd/network");
     netlink::Server svr(event, manager);
 
 #ifdef SYNC_MAC_FROM_INVENTORY
