diff --git a/pw_kvs/key_value_store.cc b/pw_kvs/key_value_store.cc
index c9c4820..617eb6b 100644
--- a/pw_kvs/key_value_store.cc
+++ b/pw_kvs/key_value_store.cc
@@ -478,7 +478,7 @@
   DBG("Writing existing entry; found sector: %zu", SectorIndex(sector));
   TRY(AppendEntry(sector, key_descriptor, key, value, new_state));
 
-  old_sector.valid_bytes -= original_entry.size();
+  old_sector.RemoveValidBytes(original_entry.size());
   return Status::OK;
 }
 
@@ -547,9 +547,7 @@
 
   // Do the valid bytes accounting for the sector the entry was relocated out
   // of.
-  // TODO: Move this accounting to a method in SectorDescriptor, with a
-  // safety/correctness check that valid_bytes >= size.
-  old_sector.valid_bytes -= header.size();
+  old_sector.RemoveValidBytes(header.size());
 
   return Status::OK;
 }
@@ -762,7 +760,7 @@
   key_descriptor->state = new_state;
 
   sector->valid_bytes += written;
-  sector->tail_free_bytes -= written;
+  sector->RemoveFreeBytes(written);
   return Status::OK;
 }
 
diff --git a/pw_kvs/public/pw_kvs/key_value_store.h b/pw_kvs/public/pw_kvs/key_value_store.h
index b67de56..792682a 100644
--- a/pw_kvs/public/pw_kvs/key_value_store.h
+++ b/pw_kvs/public/pw_kvs/key_value_store.h
@@ -246,6 +246,16 @@
     bool HasSpace(size_t required_space) const {
       return (tail_free_bytes >= required_space);
     }
+
+    void RemoveFreeBytes(size_t size) {
+      // TODO: add safety check for tail_free_bytes > size.
+      tail_free_bytes -= size;
+    }
+
+    void RemoveValidBytes(size_t size) {
+      // TODO: add safety check for valid_bytes > size.
+      valid_bytes -= size;
+    }
   };
 
   static uint32_t HashKey(std::string_view string);
