a number of fix and update

Change-Id: I657926268c1977e45c04974bcd36dc2570b4d172
diff --git a/src/protocol-detail/challenge.hpp b/src/protocol-detail/challenge.hpp
index 42eb485..23a9d84 100644
--- a/src/protocol-detail/challenge.hpp
+++ b/src/protocol-detail/challenge.hpp
@@ -22,6 +22,7 @@
 #define NDNCERT_PROTOCOL_DETAIL_CHALLENGE_HPP
 
 #include "../ca-state.hpp"
+#include "../requester-state.hpp"
 
 namespace ndn {
 namespace ndncert {
@@ -29,18 +30,10 @@
 class CHALLENGE {
 public:
   static Block
-  encodeDataPayload(const CaState& request);
+  encodeDataContent(const CaState& request);
 
-  struct DecodedData{
-      Status status;
-      optional<std::string> challengeStatus;
-      optional<size_t> remainingTries;
-      optional<time::seconds> remainingTime;
-      optional<Name> issuedCertName;
-  };
-
-  static DecodedData
-  decodeDataPayload(const Block& data);
+  static void
+  decodeDataContent(const Block& data, RequesterState& state);
 };
 
 }  // namespace ndncert