diff --git a/buffet/manager.cc b/buffet/manager.cc
index 047c121..b4fca5c 100644
--- a/buffet/manager.cc
+++ b/buffet/manager.cc
@@ -66,7 +66,7 @@
 
   device_ = weave::Device::Create();
   device_->Start(options, shill_client_.get(), peerd_client_.get(),
-                 web_serv_client_.get(), &dbus_object_, sequencer);
+                 web_serv_client_.get());
 
   command_dispatcher_.reset(new DBusCommandDispacher{
       dbus_object_.GetObjectManager(), device_->GetCommands()});
diff --git a/libweave/include/weave/device.h b/libweave/include/weave/device.h
index 019bc74..e587938 100644
--- a/libweave/include/weave/device.h
+++ b/libweave/include/weave/device.h
@@ -10,7 +10,6 @@
 #include <string>
 
 #include <base/files/file_path.h>
-#include <chromeos/errors/error.h>
 
 #include "weave/cloud.h"
 #include "weave/commands.h"
@@ -21,13 +20,6 @@
 #include "weave/privet.h"
 #include "weave/state.h"
 
-namespace chromeos {
-namespace dbus_utils {
-class AsyncEventSequencer;
-class DBusObject;
-}
-}
-
 namespace weave {
 
 class Device {
@@ -49,9 +41,7 @@
   virtual void Start(const Options& options,
                      Network* network,
                      Mdns* mdns,
-                     HttpServer* http_server,
-                     chromeos::dbus_utils::DBusObject* dbus_object,
-                     chromeos::dbus_utils::AsyncEventSequencer* sequencer) = 0;
+                     HttpServer* http_server) = 0;
 
   virtual Commands* GetCommands() = 0;
   virtual State* GetState() = 0;
diff --git a/libweave/src/device_manager.cc b/libweave/src/device_manager.cc
index 28d3c97..0b8bf88 100644
--- a/libweave/src/device_manager.cc
+++ b/libweave/src/device_manager.cc
@@ -7,7 +7,6 @@
 #include <string>
 
 #include <base/message_loop/message_loop.h>
-#include <chromeos/dbus/dbus_object.h>
 #include <chromeos/http/http_transport.h>
 
 #include "libweave/src/base_api_handler.h"
@@ -33,13 +32,10 @@
 
 DeviceManager::~DeviceManager() {}
 
-void DeviceManager::Start(
-    const Options& options,
-    Network* network,
-    Mdns* mdns,
-    HttpServer* http_server,
-    chromeos::dbus_utils::DBusObject* dbus_object,
-    chromeos::dbus_utils::AsyncEventSequencer* sequencer) {
+void DeviceManager::Start(const Options& options,
+                          Network* network,
+                          Mdns* mdns,
+                          HttpServer* http_server) {
   command_manager_ = std::make_shared<CommandManager>();
   command_manager_->Startup(options.definitions_path,
                             options.test_definitions_path);
@@ -66,7 +62,7 @@
   device_info_->Start();
 
   if (!options.disable_privet) {
-    StartPrivet(options, network, mdns, http_server, dbus_object, sequencer);
+    StartPrivet(options, network, mdns, http_server);
   } else {
     CHECK(!http_server);
     CHECK(!mdns);
@@ -93,17 +89,13 @@
   return privet_.get();
 }
 
-void DeviceManager::StartPrivet(
-    const Options& options,
-    Network* network,
-    Mdns* mdns,
-    HttpServer* http_server,
-    chromeos::dbus_utils::DBusObject* dbus_object,
-    chromeos::dbus_utils::AsyncEventSequencer* sequencer) {
+void DeviceManager::StartPrivet(const Options& options,
+                                Network* network,
+                                Mdns* mdns,
+                                HttpServer* http_server) {
   privet_.reset(new privet::Manager{});
-  privet_->Start(options, dbus_object->GetBus(), network, mdns, http_server,
-                 device_info_.get(), command_manager_.get(),
-                 state_manager_.get(), sequencer);
+  privet_->Start(options, network, mdns, http_server, device_info_.get(),
+                 command_manager_.get(), state_manager_.get());
 
   privet_->AddOnWifiSetupChangedCallback(
       base::Bind(&DeviceManager::OnWiFiBootstrapStateChanged,
diff --git a/libweave/src/device_manager.h b/libweave/src/device_manager.h
index 6f22fac..56b9a47 100644
--- a/libweave/src/device_manager.h
+++ b/libweave/src/device_manager.h
@@ -9,12 +9,6 @@
 
 #include "weave/device.h"
 
-namespace chromeos {
-namespace dbus_utils {
-class DBusObject;
-}
-}
-
 namespace weave {
 
 class BaseApiHandler;
@@ -36,9 +30,7 @@
   void Start(const Options& options,
              Network* network,
              Mdns* mdns,
-             HttpServer* http_server,
-             chromeos::dbus_utils::DBusObject* dbus_object,
-             chromeos::dbus_utils::AsyncEventSequencer* sequencer) override;
+             HttpServer* http_server) override;
 
   Commands* GetCommands() override;
   State* GetState() override;
@@ -50,9 +42,7 @@
   void StartPrivet(const Options& options,
                    Network* network,
                    Mdns* mdns,
-                   HttpServer* http_server,
-                   chromeos::dbus_utils::DBusObject* dbus_object,
-                   chromeos::dbus_utils::AsyncEventSequencer* sequencer);
+                   HttpServer* http_server);
 
   void OnWiFiBootstrapStateChanged(weave::WifiSetupState state);
 
diff --git a/libweave/src/privet/cloud_delegate.cc b/libweave/src/privet/cloud_delegate.cc
index df8647c..f925cb6 100644
--- a/libweave/src/privet/cloud_delegate.cc
+++ b/libweave/src/privet/cloud_delegate.cc
@@ -256,7 +256,7 @@
       chromeos::ErrorPtr error;
       chromeos::Error::AddToPrintf(
           &error, FROM_HERE, errors::kDomain, errors::kInvalidState,
-          "Unexpected buffet status: %s", EnumToString(status).c_str());
+          "Unexpected registration status: %s", EnumToString(status).c_str());
       connection_state_ = ConnectionState{std::move(error)};
     }
     NotifyOnDeviceInfoChanged();
diff --git a/libweave/src/privet/privet_manager.cc b/libweave/src/privet/privet_manager.cc
index c49eec3..1f3fd5b 100644
--- a/libweave/src/privet/privet_manager.cc
+++ b/libweave/src/privet/privet_manager.cc
@@ -16,19 +16,13 @@
 #include <base/scoped_observer.h>
 #include <base/strings/string_number_conversions.h>
 #include <base/values.h>
-#include <chromeos/daemons/dbus_daemon.h>
 #include <chromeos/flag_helper.h>
 #include <chromeos/http/http_request.h>
 #include <chromeos/key_value_store.h>
 #include <chromeos/mime_utils.h>
 #include <chromeos/strings/string_utils.h>
 #include <chromeos/syslog_logging.h>
-#include <libwebserv/protocol_handler.h>
-#include <libwebserv/request.h>
-#include <libwebserv/response.h>
-#include <libwebserv/server.h>
 
-#include "buffet/dbus_constants.h"
 #include "libweave/src/device_registration_info.h"
 #include "libweave/src/privet/cloud_delegate.h"
 #include "libweave/src/privet/constants.h"
@@ -40,12 +34,6 @@
 namespace weave {
 namespace privet {
 
-namespace {
-
-using chromeos::dbus_utils::AsyncEventSequencer;
-
-}  // namespace
-
 Manager::Manager() {
 }
 
@@ -53,14 +41,12 @@
 }
 
 void Manager::Start(const Device::Options& options,
-                    const scoped_refptr<dbus::Bus>& bus,
                     Network* network,
                     Mdns* mdns,
                     HttpServer* http_server,
                     DeviceRegistrationInfo* device,
                     CommandManager* command_manager,
-                    StateManager* state_manager,
-                    AsyncEventSequencer* sequencer) {
+                    StateManager* state_manager) {
   disable_security_ = options.disable_security;
 
   device_ = DeviceDelegate::CreateDefault();
diff --git a/libweave/src/privet/privet_manager.h b/libweave/src/privet/privet_manager.h
index c6e6dd9..e79cc9c 100644
--- a/libweave/src/privet/privet_manager.h
+++ b/libweave/src/privet/privet_manager.h
@@ -18,12 +18,6 @@
 #include "libweave/src/privet/wifi_bootstrap_manager.h"
 #include "weave/device.h"
 
-namespace chromeos {
-namespace dbus_utils {
-class AsyncEventSequencer;
-}
-}
-
 namespace libwebserv {
 class ProtocolHandler;
 class Request;
@@ -54,14 +48,12 @@
   ~Manager() override;
 
   void Start(const weave::Device::Options& options,
-             const scoped_refptr<dbus::Bus>& bus,
              Network* network,
              Mdns* mdns,
              HttpServer* http_server,
              DeviceRegistrationInfo* device,
              CommandManager* command_manager,
-             StateManager* state_manager,
-             chromeos::dbus_utils::AsyncEventSequencer* sequencer);
+             StateManager* state_manager);
 
   std::string GetCurrentlyConnectedSsid() const;
 
diff --git a/libweave/src/privet/publisher.h b/libweave/src/privet/publisher.h
index 1655ae1..ddedd05 100644
--- a/libweave/src/privet/publisher.h
+++ b/libweave/src/privet/publisher.h
@@ -12,10 +12,6 @@
 
 #include "libweave/src/privet/identity_delegate.h"
 
-namespace dbus {
-class Bus;
-}  // namespace dbus
-
 namespace weave {
 
 class Mdns;
diff --git a/libweave/src/privet/wifi_bootstrap_manager.cc b/libweave/src/privet/wifi_bootstrap_manager.cc
index 4407e6d..c523f2c 100644
--- a/libweave/src/privet/wifi_bootstrap_manager.cc
+++ b/libweave/src/privet/wifi_bootstrap_manager.cc
@@ -201,7 +201,7 @@
 }
 
 void WifiBootstrapManager::OnDeviceInfoChanged() {
-  // Initialization was delayed until buffet is ready.
+  // Initialization was delayed until dependencies are ready.
   if (!is_initialized_)
     Init();
 }
