diff --git a/ndn-cpp/util/changed-event.cpp b/ndn-cpp/util/changed-event.cpp
new file mode 100644
index 0000000..24a87bd
--- /dev/null
+++ b/ndn-cpp/util/changed-event.cpp
@@ -0,0 +1,19 @@
+/**
+ * Copyright (C) 2013 Regents of the University of California.
+ * @author: Jeff Thompson <jefft0@remap.ucla.edu>
+ * See COPYING for copyright and distribution information.
+ */
+
+#include "changed-event.hpp"
+
+using namespace std;
+
+namespace ndn {
+
+void ChangedEvent::fire()
+{
+  for (unsigned int i = 0; i < listeners_.size(); ++i)
+    listeners_[i]();
+}
+
+}
diff --git a/ndn-cpp/util/changed-event.hpp b/ndn-cpp/util/changed-event.hpp
new file mode 100644
index 0000000..3bac8b6
--- /dev/null
+++ b/ndn-cpp/util/changed-event.hpp
@@ -0,0 +1,44 @@
+/**
+ * Copyright (C) 2013 Regents of the University of California.
+ * @author: Jeff Thompson <jefft0@remap.ucla.edu>
+ * See COPYING for copyright and distribution information.
+ */
+
+#ifndef NDN_CHANGED_EVENT_HPP
+#define	NDN_CHANGED_EVENT_HPP
+
+#include <vector>
+#include "../common.hpp"
+
+namespace ndn {
+
+/**
+ * An OnChanged function object is called to notify a listener of a changed event.
+ */
+typedef func_lib::function<void()> OnChanged;
+
+class ChangedEvent {
+public:
+  /**
+   * Add onChanged to the listener list. This does not check if a duplicate is already in the list.
+   * @param onChanged The OnChanged function object.
+   */
+  void add(OnChanged onChanged)
+  {
+    listeners_.push_back(onChanged);
+  }
+  
+  /**
+   * Call all the listeners.
+   */
+  void fire();
+
+#if 0  
+private:
+#endif
+  std::vector<OnChanged> listeners_;
+};
+
+}
+
+#endif
