diff --git a/libweave/examples/ubuntu/main.cc b/libweave/examples/ubuntu/main.cc
index 43c13ec..ef5f4e6 100644
--- a/libweave/examples/ubuntu/main.cc
+++ b/libweave/examples/ubuntu/main.cc
@@ -54,8 +54,7 @@
                                            ++counter_);
       device_->GetState()->SetProperties(state, nullptr);
 
-      LOG(INFO) << "New state: "
-                << *device_->GetState()->GetStateValuesAsJson();
+      LOG(INFO) << "New state: " << *device_->GetState()->GetState();
 
       cmd->Done();
     } else {
diff --git a/libweave/include/weave/state.h b/libweave/include/weave/state.h
index f1f57e6..211838f 100644
--- a/libweave/include/weave/state.h
+++ b/libweave/include/weave/state.h
@@ -15,14 +15,23 @@
   // Sets callback which is called when stat is changed.
   virtual void AddOnChangedCallback(const base::Closure& callback) = 0;
 
-  // Updates a multiple property values.
+  // Returns value of the single property.
+  // |name| is full property name, including package name. e.g. "base.network".
+  virtual std::unique_ptr<base::Value> GetStateProperty(
+      const std::string& name) = 0;
+
+  // Sets value of the single property.
+  // |name| is full property name, including package name. e.g. "base.network".
+  virtual bool SetStateProperty(const std::string& name,
+                                const base::Value& value,
+                                ErrorPtr* error) = 0;
+
+  // Updates multiple property values.
   virtual bool SetProperties(const base::DictionaryValue& property_set,
                              ErrorPtr* error) = 0;
 
-  // Returns aggregated state properties across all registered packages as
-  // a JSON object that can be used to send the device state to the GCD server.
-  virtual std::unique_ptr<base::DictionaryValue> GetStateValuesAsJson()
-      const = 0;
+  // Returns aggregated state properties across all registered packages.
+  virtual std::unique_ptr<base::DictionaryValue> GetState() const = 0;
 
  protected:
   virtual ~State() = default;
diff --git a/libweave/src/base_api_handler_unittest.cc b/libweave/src/base_api_handler_unittest.cc
index 1dc843d..1f1fc75 100644
--- a/libweave/src/base_api_handler_unittest.cc
+++ b/libweave/src/base_api_handler_unittest.cc
@@ -132,7 +132,7 @@
       'network': {}
     }
   })";
-  EXPECT_JSON_EQ(expected, *state_manager_->GetStateValuesAsJson());
+  EXPECT_JSON_EQ(expected, *state_manager_->GetState());
 
   AddCommand(R"({
     'name' : 'base.updateBaseConfiguration',
@@ -154,7 +154,7 @@
       'network': {}
     }
   })";
-  EXPECT_JSON_EQ(expected, *state_manager_->GetStateValuesAsJson());
+  EXPECT_JSON_EQ(expected, *state_manager_->GetState());
 
   {
     Config::Transaction change{dev_reg_->GetMutableConfig()};
@@ -169,7 +169,7 @@
       'network': {}
     }
   })";
-  EXPECT_JSON_EQ(expected, *state_manager_->GetStateValuesAsJson());
+  EXPECT_JSON_EQ(expected, *state_manager_->GetState());
 }
 
 TEST_F(BaseApiHandlerTest, UpdateDeviceInfo) {
diff --git a/libweave/src/device_registration_info.cc b/libweave/src/device_registration_info.cc
index 610871f..f93c652 100644
--- a/libweave/src/device_registration_info.cc
+++ b/libweave/src/device_registration_info.cc
@@ -485,8 +485,7 @@
   if (!commands)
     return nullptr;
 
-  std::unique_ptr<base::DictionaryValue> state =
-      state_manager_->GetStateValuesAsJson();
+  std::unique_ptr<base::DictionaryValue> state = state_manager_->GetState();
   CHECK(state);
 
   std::unique_ptr<base::DictionaryValue> resource{new base::DictionaryValue};
diff --git a/libweave/src/privet/cloud_delegate.cc b/libweave/src/privet/cloud_delegate.cc
index 2a60de0..f6a1558 100644
--- a/libweave/src/privet/cloud_delegate.cc
+++ b/libweave/src/privet/cloud_delegate.cc
@@ -254,7 +254,7 @@
 
   void OnStateChanged() {
     state_.Clear();
-    auto state = state_manager_->GetStateValuesAsJson();
+    auto state = state_manager_->GetState();
     CHECK(state);
     state_.MergeDictionary(state.get());
     NotifyOnStateChanged();
diff --git a/libweave/src/states/state_manager.cc b/libweave/src/states/state_manager.cc
index a04b3e9..1f17307 100644
--- a/libweave/src/states/state_manager.cc
+++ b/libweave/src/states/state_manager.cc
@@ -75,8 +75,7 @@
     cb.Run();
 }
 
-std::unique_ptr<base::DictionaryValue> StateManager::GetStateValuesAsJson()
-    const {
+std::unique_ptr<base::DictionaryValue> StateManager::GetState() const {
   std::unique_ptr<base::DictionaryValue> dict{new base::DictionaryValue};
   for (const auto& pair : packages_) {
     auto pkg_value = pair.second->GetValuesAsJson();
@@ -103,6 +102,27 @@
   return all_success;
 }
 
+bool StateManager::SetStateProperty(const std::string& name,
+                                    const base::Value& value,
+                                    ErrorPtr* error) {
+  return SetPropertyValue(name, value, base::Time::Now(), error);
+}
+
+std::unique_ptr<base::Value> StateManager::GetStateProperty(
+    const std::string& name) {
+  auto parts = SplitAtFirst(name, ".", true);
+  const std::string& package_name = parts.first;
+  const std::string& property_name = parts.second;
+  if (package_name.empty() || property_name.empty())
+    return nullptr;
+
+  StatePackage* package = FindPackage(package_name);
+  if (!package)
+    return nullptr;
+
+  return package->GetPropertyValue(property_name, nullptr);
+}
+
 bool StateManager::SetPropertyValue(const std::string& full_property_name,
                                     const base::Value& value,
                                     const base::Time& timestamp,
diff --git a/libweave/src/states/state_manager.h b/libweave/src/states/state_manager.h
index 88e28c0..bfa43e7 100644
--- a/libweave/src/states/state_manager.h
+++ b/libweave/src/states/state_manager.h
@@ -43,7 +43,12 @@
   void AddOnChangedCallback(const base::Closure& callback) override;
   bool SetProperties(const base::DictionaryValue& property_set,
                      ErrorPtr* error) override;
-  std::unique_ptr<base::DictionaryValue> GetStateValuesAsJson() const override;
+  std::unique_ptr<base::Value> GetStateProperty(
+      const std::string& name) override;
+  bool SetStateProperty(const std::string& name,
+                        const base::Value& value,
+                        ErrorPtr* error) override;
+  std::unique_ptr<base::DictionaryValue> GetState() const override;
 
   // Initializes the state manager and load device state fragments.
   // Called by Buffet daemon at startup.
diff --git a/libweave/src/states/state_manager_unittest.cc b/libweave/src/states/state_manager_unittest.cc
index 8d07e65..d02b57f 100644
--- a/libweave/src/states/state_manager_unittest.cc
+++ b/libweave/src/states/state_manager_unittest.cc
@@ -109,7 +109,7 @@
       'state_property': ''
     }
   })";
-  EXPECT_JSON_EQ(expected, *mgr_->GetStateValuesAsJson());
+  EXPECT_JSON_EQ(expected, *mgr_->GetState());
 }
 
 TEST_F(StateManagerTest, LoadStateDefinition) {
@@ -134,7 +134,7 @@
       'state_property': ''
     }
   })";
-  EXPECT_JSON_EQ(expected, *mgr_->GetStateValuesAsJson());
+  EXPECT_JSON_EQ(expected, *mgr_->GetState());
 }
 
 TEST_F(StateManagerTest, Startup) {
@@ -163,7 +163,7 @@
       'battery_level': 44
     }
   })";
-  EXPECT_JSON_EQ(expected, *manager.GetStateValuesAsJson());
+  EXPECT_JSON_EQ(expected, *manager.GetState());
 }
 
 TEST_F(StateManagerTest, SetPropertyValue) {
@@ -184,7 +184,7 @@
       'state_property': 'Test Value'
     }
   })";
-  EXPECT_JSON_EQ(expected, *mgr_->GetStateValuesAsJson());
+  EXPECT_JSON_EQ(expected, *mgr_->GetState());
 }
 
 TEST_F(StateManagerTest, SetPropertyValue_Error_NoName) {
@@ -259,7 +259,14 @@
       'state_property': ''
     }
   })";
-  EXPECT_JSON_EQ(expected, *mgr_->GetStateValuesAsJson());
+  EXPECT_JSON_EQ(expected, *mgr_->GetState());
+}
+
+TEST_F(StateManagerTest, GetProperty) {
+  EXPECT_JSON_EQ("'Test Model'", *mgr_->GetStateProperty("base.serialNumber"));
+  EXPECT_JSON_EQ("''", *mgr_->GetStateProperty("device.state_property"));
+  EXPECT_EQ(nullptr, mgr_->GetStateProperty("device.unknown"));
+  EXPECT_EQ(nullptr, mgr_->GetStateProperty("unknown.state_property"));
 }
 
 }  // namespace weave
