buffet: Multiple listeners of add/remove new command.

Replace CommandDispatchInterface with callbacks.
Lists of callbacks in CommandQueue.

BUG=brillo:697
TEST=FEATURE=test emerge-gizmo buffet

Change-Id: I3c164c8c7c2cb098b896aa8d5c9a99d856b05172
Reviewed-on: https://chromium-review.googlesource.com/270350
Commit-Queue: Vitaly Buka <vitalybuka@chromium.org>
Tested-by: Vitaly Buka <vitalybuka@chromium.org>
Reviewed-by: Alex Vakulenko <avakulenko@chromium.org>
diff --git a/buffet/commands/command_manager.h b/buffet/commands/command_manager.h
index b2b9eba..88ebca7 100644
--- a/buffet/commands/command_manager.h
+++ b/buffet/commands/command_manager.h
@@ -38,8 +38,6 @@
   explicit CommandManager(
       const base::WeakPtr<chromeos::dbus_utils::ExportedObjectManager>&
           object_manager);
-  // Special constructor to help mock out command dispatcher for testing.
-  explicit CommandManager(CommandDispachInterface* dispatch_interface);
 
   // Sets callback which is called when command definitions is changed.
   void AddOnCommandDefChanged(const base::Closure& callback) {
@@ -103,8 +101,8 @@
  private:
   CommandDictionary base_dictionary_;  // Base/std command definitions/schemas.
   CommandDictionary dictionary_;  // Command definitions/schemas.
-  CommandQueue command_queue_;
   DBusCommandDispacher command_dispatcher_;
+  CommandQueue command_queue_;
   std::vector<base::Callback<void()>> on_command_changed_;
 
   DISALLOW_COPY_AND_ASSIGN(CommandManager);