diff --git a/src/update/manager-base.cpp b/src/update/command-processor.cpp
similarity index 81%
rename from src/update/manager-base.cpp
rename to src/update/command-processor.cpp
index e066bfc..d13d9b6 100644
--- a/src/update/manager-base.cpp
+++ b/src/update/command-processor.cpp
@@ -19,34 +19,29 @@
  * NLSR, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "manager-base.hpp"
+#include "command-processor.hpp"
 #include "logger.hpp"
 
-namespace nlsr {
-namespace update {
+#include <ndn-cxx/mgmt/nfd/control-response.hpp>
 
-INIT_LOGGER(update.PrefixCommandProcessor);
+namespace nlsr::update {
 
-ManagerBase::ManagerBase(ndn::mgmt::Dispatcher& dispatcher,
-                         const std::string& module)
+INIT_LOGGER(update.CommandProcessor);
+
+CommandProcessor::CommandProcessor(ndn::mgmt::Dispatcher& dispatcher,
+                                   NamePrefixList& namePrefixList,
+                                   Lsdb& lsdb)
   : m_dispatcher(dispatcher)
-  , m_module(module)
-{
-}
-
-CommandManagerBase::CommandManagerBase(ndn::mgmt::Dispatcher& dispatcher,
-                                      NamePrefixList& namePrefixList,
-                                      Lsdb& lsdb,
-                                      const std::string& module)
-  : ManagerBase(dispatcher, module)
   , m_namePrefixList(namePrefixList)
   , m_lsdb(lsdb)
 {
 }
 
+CommandProcessor::~CommandProcessor() = default;
+
 void
-CommandManagerBase::advertiseAndInsertPrefix(const ndn::mgmt::ControlParametersBase& parameters,
-                                             const ndn::mgmt::CommandContinuation& done)
+CommandProcessor::advertiseAndInsertPrefix(const ndn::mgmt::ControlParametersBase& parameters,
+                                           const ndn::mgmt::CommandContinuation& done)
 {
   const auto& castParams = static_cast<const ndn::nfd::ControlParameters&>(parameters);
 
@@ -84,8 +79,8 @@
 }
 
 void
-CommandManagerBase::withdrawAndRemovePrefix(const ndn::mgmt::ControlParametersBase& parameters,
-                                            const ndn::mgmt::CommandContinuation& done)
+CommandProcessor::withdrawAndRemovePrefix(const ndn::mgmt::ControlParametersBase& parameters,
+                                          const ndn::mgmt::CommandContinuation& done)
 {
   const auto& castParams = static_cast<const ndn::nfd::ControlParameters&>(parameters);
 
@@ -121,5 +116,4 @@
   }
 }
 
-} // namespace update
-} // namespace nlsr
+} // namespace nlsr::update
diff --git a/src/update/manager-base.hpp b/src/update/command-processor.hpp
similarity index 76%
rename from src/update/manager-base.hpp
rename to src/update/command-processor.hpp
index 7616ef6..d0245fd 100644
--- a/src/update/manager-base.hpp
+++ b/src/update/command-processor.hpp
@@ -19,31 +19,23 @@
  * NLSR, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifndef NLSR_MANAGER_BASE_HPP
-#define NLSR_MANAGER_BASE_HPP
+#ifndef NLSR_UPDATE_COMMAND_PROCESSOR_HPP
+#define NLSR_UPDATE_COMMAND_PROCESSOR_HPP
 
 #include "lsdb.hpp"
 #include "name-prefix-list.hpp"
 
-#include <ndn-cxx/face.hpp>
-#include <ndn-cxx/interest.hpp>
 #include <ndn-cxx/mgmt/dispatcher.hpp>
-#include <ndn-cxx/mgmt/nfd/control-command.hpp>
 #include <ndn-cxx/mgmt/nfd/control-parameters.hpp>
-#include <ndn-cxx/mgmt/nfd/control-response.hpp>
 
 #include <boost/noncopyable.hpp>
 #include <optional>
 
-namespace nlsr {
-
-class Lsdb;
-
-namespace update {
+namespace nlsr::update {
 
 enum { PREFIX_FLAG = 1 };
 
-class ManagerBase : boost::noncopyable
+class CommandProcessor : boost::noncopyable
 {
 public:
   class Error : public std::runtime_error
@@ -52,26 +44,12 @@
     using std::runtime_error::runtime_error;
   };
 
-protected:
-  ManagerBase(ndn::mgmt::Dispatcher& m_dispatcher, const std::string& module);
-
-protected:
-  ndn::mgmt::Dispatcher& m_dispatcher;
-
-private:
-  std::string m_module;
-};
-
-class CommandManagerBase : public ManagerBase
-{
-public:
-  CommandManagerBase(ndn::mgmt::Dispatcher& m_dispatcher,
-                     NamePrefixList& m_namePrefixList,
-                     Lsdb& lsdb,
-                     const std::string& module);
+  CommandProcessor(ndn::mgmt::Dispatcher& m_dispatcher,
+                   NamePrefixList& m_namePrefixList,
+                   Lsdb& lsdb);
 
   virtual
-  ~CommandManagerBase() = default;
+  ~CommandProcessor() = 0;
 
   /*! \brief Add desired name prefix to the advertised name prefix list
    *         or insert a prefix into the FIB if parameters is valid.
@@ -106,11 +84,11 @@
   }
 
 protected:
+  ndn::mgmt::Dispatcher& m_dispatcher;
   NamePrefixList& m_namePrefixList;
   Lsdb& m_lsdb;
 };
 
-} // namespace update
-} // namespace nlsr
+} // namespace nlsr::update
 
-#endif // NLSR_MANAGER_BASE_HPP
+#endif // NLSR_UPDATE_COMMAND_PROCESSOR_HPP
diff --git a/src/update/nfd-rib-command-processor.cpp b/src/update/nfd-rib-command-processor.cpp
index 6892415..21f9a7b 100644
--- a/src/update/nfd-rib-command-processor.cpp
+++ b/src/update/nfd-rib-command-processor.cpp
@@ -21,19 +21,23 @@
 
 #include "nfd-rib-command-processor.hpp"
 
+#include <ndn-cxx/mgmt/nfd/control-command.hpp>
+
 namespace nlsr::update {
 
 NfdRibCommandProcessor::NfdRibCommandProcessor(ndn::mgmt::Dispatcher& dispatcher,
                                                NamePrefixList& namePrefixList,
                                                Lsdb& lsdb)
-  : CommandManagerBase(dispatcher, namePrefixList, lsdb, "rib")
+  : CommandProcessor(dispatcher, namePrefixList, lsdb)
 {
   m_dispatcher.addControlCommand<ndn::nfd::RibRegisterCommand>(
     ndn::mgmt::makeAcceptAllAuthorization(),
+    // the first and second arguments are ignored since the handler does not need them
     std::bind(&NfdRibCommandProcessor::advertiseAndInsertPrefix, this, _3, _4));
 
   m_dispatcher.addControlCommand<ndn::nfd::RibUnregisterCommand>(
     ndn::mgmt::makeAcceptAllAuthorization(),
+    // the first and second arguments are ignored since the handler does not need them
     std::bind(&NfdRibCommandProcessor::withdrawAndRemovePrefix, this, _3, _4));
 }
 
diff --git a/src/update/nfd-rib-command-processor.hpp b/src/update/nfd-rib-command-processor.hpp
index 351e375..4188504 100644
--- a/src/update/nfd-rib-command-processor.hpp
+++ b/src/update/nfd-rib-command-processor.hpp
@@ -22,11 +22,11 @@
 #ifndef NLSR_UPDATE_NFD_RIB_COMMAND_PROCESSOR_HPP
 #define NLSR_UPDATE_NFD_RIB_COMMAND_PROCESSOR_HPP
 
-#include "manager-base.hpp"
+#include "command-processor.hpp"
 
 namespace nlsr::update {
 
-class NfdRibCommandProcessor : public CommandManagerBase
+class NfdRibCommandProcessor : public CommandProcessor
 {
 public:
   NfdRibCommandProcessor(ndn::mgmt::Dispatcher& dispatcher,
diff --git a/src/update/prefix-update-processor.cpp b/src/update/prefix-update-processor.cpp
index 83bfcc4..f07f0d0 100644
--- a/src/update/prefix-update-processor.cpp
+++ b/src/update/prefix-update-processor.cpp
@@ -21,11 +21,8 @@
 
 #include "prefix-update-processor.hpp"
 #include "logger.hpp"
-#include "lsdb.hpp"
 #include "prefix-update-commands.hpp"
 
-#include <ndn-cxx/face.hpp>
-
 #include <boost/algorithm/string.hpp>
 #include <fstream>
 
@@ -55,16 +52,18 @@
                                              ndn::security::ValidatorConfig& validator,
                                              NamePrefixList& namePrefixList,
                                              Lsdb& lsdb, const std::string& configFileName)
-  : CommandManagerBase(dispatcher, namePrefixList, lsdb, "prefix-update")
+  : CommandProcessor(dispatcher, namePrefixList, lsdb)
   , m_validator(validator)
   , m_confFileNameDynamic(configFileName)
 {
   m_dispatcher.addControlCommand<AdvertisePrefixCommand>(
     makeAuthorization(),
+    // the first and second arguments are ignored since the handler does not need them
     std::bind(&PrefixUpdateProcessor::advertiseAndInsertPrefix, this, _3, _4));
 
   m_dispatcher.addControlCommand<WithdrawPrefixCommand>(
     makeAuthorization(),
+    // the first and second arguments are ignored since the handler does not need them
     std::bind(&PrefixUpdateProcessor::withdrawAndRemovePrefix, this, _3, _4));
 }
 
diff --git a/src/update/prefix-update-processor.hpp b/src/update/prefix-update-processor.hpp
index 9230f0b..bc59937 100644
--- a/src/update/prefix-update-processor.hpp
+++ b/src/update/prefix-update-processor.hpp
@@ -22,7 +22,7 @@
 #ifndef NLSR_UPDATE_PREFIX_UPDATE_PROCESSOR_HPP
 #define NLSR_UPDATE_PREFIX_UPDATE_PROCESSOR_HPP
 
-#include "manager-base.hpp"
+#include "command-processor.hpp"
 
 #include <ndn-cxx/security/key-chain.hpp>
 
@@ -32,7 +32,7 @@
 
 using ConfigSection = boost::property_tree::ptree;
 
-class PrefixUpdateProcessor : public CommandManagerBase
+class PrefixUpdateProcessor : public CommandProcessor
 {
 public:
   PrefixUpdateProcessor(ndn::mgmt::Dispatcher& dispatcher,
