update challenge modules aginst spec

Change-Id: Ibcfe851a77df1854f417d60cd48a66f8213aedc6
diff --git a/src/challenge-module.hpp b/src/challenge-module.hpp
index 1219399..1f31bd2 100644
--- a/src/challenge-module.hpp
+++ b/src/challenge-module.hpp
@@ -28,9 +28,10 @@
 
 class ChallengeModule : noncopyable {
 public:
-  explicit ChallengeModule(const std::string& uniqueType);
+  explicit
+  ChallengeModule(const std::string& challengeType, size_t maxAttemptTimes, time::seconds secretLifetime);
 
-  virtual ~ChallengeModule();
+  virtual ~ChallengeModule() = default;
 
   template <class ChallengeType>
   static void
@@ -77,6 +78,8 @@
 
 public:
   const std::string CHALLENGE_TYPE;
+  const size_t m_maxAttemptTimes;
+  const time::seconds m_secretLifetime;
 
 private:
   typedef function<unique_ptr<ChallengeModule>()> ChallengeCreateFunc;