diff --git a/src/main/java/com/intel/jndn/mock/MeasurableFace.java b/src/main/java/com/intel/jndn/mock/MeasurableFace.java
index f000a76..c862756 100644
--- a/src/main/java/com/intel/jndn/mock/MeasurableFace.java
+++ b/src/main/java/com/intel/jndn/mock/MeasurableFace.java
@@ -20,11 +20,28 @@
 import java.util.Collection;
 
 /**
+ * Provide API for measuring packet use on a given face
+ *
  * @author Andrew Brown, andrew.brown@intel.com
  */
 public interface MeasurableFace {
+  /**
+   * @return all interest packets sent by the measured face
+   */
   Collection<Interest> sentInterests();
+
+  /**
+   * @return all data packets sent by the measured face
+   */
   Collection<Data> sentDatas();
+
+  /**
+   * @return all interest packets received by the measured face
+   */
   Collection<Interest> receivedInterests();
+
+  /**
+   * @return all data packets received by the measured face
+   */
   Collection<Data> receivedDatas();
 }
diff --git a/src/main/java/com/intel/jndn/mock/MockForwarder.java b/src/main/java/com/intel/jndn/mock/MockForwarder.java
index f5efbca..f2f2316 100644
--- a/src/main/java/com/intel/jndn/mock/MockForwarder.java
+++ b/src/main/java/com/intel/jndn/mock/MockForwarder.java
@@ -23,9 +23,13 @@
 import net.named_data.jndn.Face;
 import net.named_data.jndn.ForwardingFlags;
 import net.named_data.jndn.Interest;
+import net.named_data.jndn.InterestFilter;
 import net.named_data.jndn.Name;
 import net.named_data.jndn.OnData;
+import net.named_data.jndn.OnInterestCallback;
 import net.named_data.jndn.OnNetworkNack;
+import net.named_data.jndn.OnRegisterFailed;
+import net.named_data.jndn.OnRegisterSuccess;
 import net.named_data.jndn.OnTimeout;
 import net.named_data.jndn.encoding.WireFormat;
 import net.named_data.jndn.security.KeyChain;
@@ -192,6 +196,12 @@
     }
 
     @Override
+    public void putData(Data data, WireFormat wireFormat) throws IOException {
+      sentDatas.add(data);
+      super.putData(data, wireFormat);
+    }
+
+    @Override
     public Collection<Interest> sentInterests() {
       return Collections.unmodifiableCollection(sentInterests);
     }
