diff --git a/daemon/mgmt/face-manager.cpp b/daemon/mgmt/face-manager.cpp
index 157908c..e3e0cb8 100644
--- a/daemon/mgmt/face-manager.cpp
+++ b/daemon/mgmt/face-manager.cpp
@@ -52,9 +52,7 @@
 
 NFD_LOG_INIT("FaceManager");
 
-FaceManager::FaceManager(FaceTable& faceTable,
-                         Dispatcher& dispatcher,
-                         CommandValidator& validator)
+FaceManager::FaceManager(FaceTable& faceTable, Dispatcher& dispatcher, CommandValidator& validator)
   : NfdManagerBase(dispatcher, validator, "faces")
   , m_faceTable(faceTable)
 {
@@ -74,11 +72,9 @@
   registerStatusDatasetHandler("channels", bind(&FaceManager::listChannels, this, _1, _2, _3));
   registerStatusDatasetHandler("query", bind(&FaceManager::queryFaces, this, _1, _2, _3));
 
-  auto postNotification = registerNotificationStream("events");
-  m_faceAddConn =
-    m_faceTable.afterAdd.connect(bind(&FaceManager::afterFaceAdded, this, _1, postNotification));
-  m_faceRemoveConn =
-    m_faceTable.beforeRemove.connect(bind(&FaceManager::afterFaceRemoved, this, _1, postNotification));
+  m_postNotification = registerNotificationStream("events");
+  m_faceAddConn = m_faceTable.afterAdd.connect(bind(&FaceManager::notifyAddFace, this, _1));
+  m_faceRemoveConn = m_faceTable.beforeRemove.connect(bind(&FaceManager::notifyRemoveFace, this, _1));
 }
 
 void
@@ -386,25 +382,23 @@
 }
 
 void
-FaceManager::afterFaceAdded(shared_ptr<Face> face,
-                            const ndn::mgmt::PostNotification& post)
+FaceManager::notifyAddFace(const Face& face)
 {
   ndn::nfd::FaceEventNotification notification;
   notification.setKind(ndn::nfd::FACE_EVENT_CREATED);
-  collectFaceProperties(*face, notification);
+  collectFaceProperties(face, notification);
 
-  post(notification.wireEncode());
+  m_postNotification(notification.wireEncode());
 }
 
 void
-FaceManager::afterFaceRemoved(shared_ptr<Face> face,
-                              const ndn::mgmt::PostNotification& post)
+FaceManager::notifyRemoveFace(const Face& face)
 {
   ndn::nfd::FaceEventNotification notification;
   notification.setKind(ndn::nfd::FACE_EVENT_DESTROYED);
-  collectFaceProperties(*face, notification);
+  collectFaceProperties(face, notification);
 
-  post(notification.wireEncode());
+  m_postNotification(notification.wireEncode());
 }
 
 void
diff --git a/daemon/mgmt/face-manager.hpp b/daemon/mgmt/face-manager.hpp
index aa0c05d..ec0af92 100644
--- a/daemon/mgmt/face-manager.hpp
+++ b/daemon/mgmt/face-manager.hpp
@@ -121,12 +121,10 @@
 
 private: // NotificationStream
   void
-  afterFaceAdded(shared_ptr<Face> face,
-                 const ndn::mgmt::PostNotification& post);
+  notifyAddFace(const Face& face);
 
   void
-  afterFaceRemoved(shared_ptr<Face> face,
-                   const ndn::mgmt::PostNotification& post);
+  notifyRemoveFace(const Face& face);
 
 private: // configuration
   void
@@ -155,6 +153,7 @@
 
 private:
   FaceTable& m_faceTable;
+  ndn::mgmt::PostNotification m_postNotification;
   signal::ScopedConnection m_faceAddConn;
   signal::ScopedConnection m_faceRemoveConn;
 };
