diff --git a/system_state.cc b/system_state.cc
index 0053fed..d13e18c 100644
--- a/system_state.cc
+++ b/system_state.cc
@@ -9,35 +9,54 @@
 namespace chromeos_update_engine {
 
 static const char kOOBECompletedMarker[] = "/home/chronos/.oobe_completed";
+static const char kPrefsDirectory[] = "/var/lib/update_engine/prefs";
 
 RealSystemState::RealSystemState()
     : device_policy_(NULL),
-      connection_manager_(this),
-      metrics_lib_(NULL) {}
+      connection_manager_(this) {}
+
+bool RealSystemState::Initialize() {
+  metrics_lib_.Init();
+
+  if (!prefs_.Init(FilePath(kPrefsDirectory))) {
+    LOG(ERROR) << "Failed to initialize preferences.";
+    return false;
+  }
+
+  if (!payload_state_.Initialize(&prefs_))
+    return false;
+
+  // All is well. Initialization successful.
+  return true;
+}
 
 bool RealSystemState::IsOOBEComplete() {
   return file_util::PathExists(FilePath(kOOBECompletedMarker));
 }
 
-void RealSystemState::SetDevicePolicy(
+void RealSystemState::set_device_policy(
     const policy::DevicePolicy* device_policy) {
   device_policy_ = device_policy;
 }
 
-const policy::DevicePolicy* RealSystemState::GetDevicePolicy() const {
+const policy::DevicePolicy* RealSystemState::device_policy() const {
   return device_policy_;
 }
 
-ConnectionManager* RealSystemState::GetConnectionManager() {
+ConnectionManager* RealSystemState::connection_manager() {
   return &connection_manager_;
 }
 
-void RealSystemState::set_metrics_lib(MetricsLibraryInterface* metrics_lib) {
-  metrics_lib_ = metrics_lib;
+MetricsLibraryInterface* RealSystemState::metrics_lib() {
+  return &metrics_lib_;
 }
 
-MetricsLibraryInterface* RealSystemState::metrics_lib() {
-  return metrics_lib_;
+PrefsInterface* RealSystemState::prefs() {
+  return &prefs_;
+}
+
+PayloadState* RealSystemState::payload_state() {
+  return &payload_state_;
 }
 
 }  // namespace chromeos_update_engine
