rib: stop using the global scheduler

Change-Id: I0e205e2f1adf85be49b132b47791b27e4530697a
Refs: #4528
diff --git a/rib/rib.cpp b/rib/rib.cpp
index 5385cf1..d209f63 100644
--- a/rib/rib.cpp
+++ b/rib/rib.cpp
@@ -51,8 +51,6 @@
 {
 }
 
-Rib::~Rib() = default;
-
 void
 Rib::setFibUpdater(FibUpdater* updater)
 {
@@ -107,16 +105,12 @@
     else {
       // Route exists, update fields
       // First cancel old scheduled event, if any, then set the EventId to new one
-      if (static_cast<bool>(entryIt->getExpirationEvent())) {
-        NFD_LOG_TRACE("Cancelling expiration event for " << entry->getName() << " "
-                                                         << (*entryIt));
-        scheduler::cancel(entryIt->getExpirationEvent());
+      if (entryIt->getExpirationEvent()) {
+        NFD_LOG_TRACE("Cancelling expiration event for " << entry->getName() << " " << *entryIt);
+        entryIt->cancelExpirationEvent();
       }
 
       *entryIt = route;
-
-      // No checks are required here as the iterator needs to be updated in all cases.
-      entryIt->setExpirationEvent(route.getExpirationEvent());
     }
   }
   else {