diff --git a/buffet/libbuffet/command.cc b/buffet/libbuffet/command.cc
index 67db6a5..dfa5581 100644
--- a/buffet/libbuffet/command.cc
+++ b/buffet/libbuffet/command.cc
@@ -28,7 +28,7 @@
   return GetProperties()->category.value();
 }
 
-const chromeos::dbus_utils::Dictionary& Command::GetParameters() const {
+const chromeos::VariantDictionary& Command::GetParameters() const {
   return GetProperties()->parameters.value();
 }
 
diff --git a/buffet/libbuffet/command.h b/buffet/libbuffet/command.h
index 3404898..15fbb7b 100644
--- a/buffet/libbuffet/command.h
+++ b/buffet/libbuffet/command.h
@@ -9,8 +9,7 @@
 
 #include <base/macros.h>
 #include <base/memory/weak_ptr.h>
-#include <chromeos/any.h>
-#include <chromeos/dbus/data_serialization.h>
+#include <chromeos/variant_dictionary.h>
 
 #include "libbuffet/export.h"
 
@@ -37,7 +36,7 @@
   // Returns the command category.
   const std::string& GetCategory() const;
   // Returns the command parameters and their values.
-  const chromeos::dbus_utils::Dictionary& GetParameters() const;
+  const chromeos::VariantDictionary& GetParameters() const;
 
   // Updates the command execution progress. The |progress| must be between
   // 0 and 100. Returns false if the progress value is incorrect.
diff --git a/buffet/libbuffet/command_listener.h b/buffet/libbuffet/command_listener.h
index e36a1d3..452edc6 100644
--- a/buffet/libbuffet/command_listener.h
+++ b/buffet/libbuffet/command_listener.h
@@ -12,8 +12,6 @@
 #include <base/macros.h>
 #include <base/memory/scoped_ptr.h>
 #include <base/memory/weak_ptr.h>
-#include <chromeos/any.h>
-#include <chromeos/dbus/data_serialization.h>
 #include <dbus/object_manager.h>
 
 #include "libbuffet/export.h"
diff --git a/buffet/libbuffet/private/command_property_set.h b/buffet/libbuffet/private/command_property_set.h
index 217458c..4a6aa1a 100644
--- a/buffet/libbuffet/private/command_property_set.h
+++ b/buffet/libbuffet/private/command_property_set.h
@@ -8,24 +8,24 @@
 #include <string>
 
 #include <base/macros.h>
-#include <chromeos/any.h>
 #include <chromeos/dbus/data_serialization.h>
+#include <chromeos/variant_dictionary.h>
 #include <dbus/object_manager.h>
 
 #include "buffet/libbuffet/export.h"
 
 namespace dbus {
-// Specialize dbus::Property for chromeos::dbus_utils::Dictionary type.
-template class Property<chromeos::dbus_utils::Dictionary>;
+// Specialize dbus::Property for chromeos::VariantDictionary type.
+template class Property<chromeos::VariantDictionary>;
 
 template <>
-inline bool Property<chromeos::dbus_utils::Dictionary>::PopValueFromReader(
+inline bool Property<chromeos::VariantDictionary>::PopValueFromReader(
     MessageReader* reader) {
   return chromeos::dbus_utils::PopVariantValueFromReader(reader, &value_);
 }
 
 template <>
-inline void Property<chromeos::dbus_utils::Dictionary>::AppendSetValueToWriter(
+inline void Property<chromeos::VariantDictionary>::AppendSetValueToWriter(
     MessageWriter* writer) {
   chromeos::dbus_utils::AppendValueToWriterAsVariant(writer, set_value_);
 }
@@ -44,7 +44,7 @@
   dbus::Property<std::string> category;
   dbus::Property<std::string> status;
   dbus::Property<int32_t> progress;
-  dbus::Property<chromeos::dbus_utils::Dictionary> parameters;
+  dbus::Property<chromeos::VariantDictionary> parameters;
 
  private:
   DISALLOW_COPY_AND_ASSIGN(CommandPropertySet);
