diff --git a/buffet/commands/command_queue.cc b/buffet/commands/command_queue.cc
index 62d8c20..614261e 100644
--- a/buffet/commands/command_queue.cc
+++ b/buffet/commands/command_queue.cc
@@ -4,16 +4,23 @@
 
 #include "buffet/commands/command_queue.h"
 
+#include <base/bind.h>
 #include <base/time/time.h>
 
-#include "buffet/commands/command_dispatch_interface.h"
-
 namespace buffet {
 
 namespace {
 const int kRemoveCommandDelayMin = 5;
 }
 
+void CommandQueue::AddOnCommandAddedCallback(const Callback& callback) {
+  on_command_added_.push_back(callback);
+}
+
+void CommandQueue::AddOnCommandRemovedCallback(const Callback& callback) {
+  on_command_removed_.push_back(callback);
+}
+
 void CommandQueue::Add(std::unique_ptr<CommandInstance> instance) {
   std::string id = instance->GetID();
   LOG_IF(FATAL, id.empty()) << "Command has no ID";
@@ -21,8 +28,8 @@
   auto pair = map_.insert(std::make_pair(id, std::move(instance)));
   LOG_IF(FATAL, !pair.second) << "Command with ID '" << id
                               << "' is already in the queue";
-  if (dispatch_interface_)
-    dispatch_interface_->OnCommandAdded(pair.first->second.get());
+  for (const auto& cb : on_command_added_)
+    cb.Run(pair.first->second.get());
   Cleanup();
 }
 
@@ -43,8 +50,8 @@
   std::unique_ptr<CommandInstance> instance{std::move(p->second)};
   instance->SetCommandQueue(nullptr);
   map_.erase(p);
-  if (dispatch_interface_)
-    dispatch_interface_->OnCommandRemoved(instance.get());
+  for (const auto& cb : on_command_removed_)
+    cb.Run(instance.get());
   return true;
 }
 
