       # Give 40 seconds for the solutions turn
       @resetTurnTimer(Settings.submitTurnSeconds, turnEndCallback)
 
+  ###*
+   * A player has submitted that he thinks a challenge is not possible.
+   * @param  {Integer} clientId        The now.js socketid given to player
+   * @param  {Function} turnEndCallback What to do if the timer ends on the solutions turn.
+  ###
   submitImpossible: (clientId, turnEndCallback) ->
     @checkChallengeDecision()
     disagreedId = @playerManager.getPlayerIdBySocket(clientId) #The player id of the player who disagreed
     @state.impossiblePlayers.push(disagreedId)
+    # Once we have accepted his decision, check whether all are made.
+    # If so, and everyone thinks it's impossible then it's the end of round. Add up scores.
     if(@allDecisionsMade())
-      # Give 40 seconds for the solutions turn
       @resetTurnTimer(Settings.submitTurnSeconds, turnEndCallback)
       if(@state.possiblePlayers.length == 0)
         @scoreAdder()
 
-
+  ###*
+   * Check whether a possible/impossible decision make sense.
+   * Prevent people making duplicate decisions or decisions at the wrong time.
+   * @param  {Integer} clientId The now.js socketid given to player
+  ###
   checkChallengeDecision:(clientId) ->
     if !@challengeMode
       ErrorManager.throw(ErrorManager.codes.submitNotChallengeMode, {}, "Can't submit opinion, not currently challenge mode")





  handleTimeOut: (turnEndCallback) ->
    if @started
      if @challengeMode


  # Return a copy of the submitted solutions
  getSubmittedSolutions: () -> @playerManager.submittedSolutions[..]
  # Has at least one person make a solution that solves the goal?
  getAnswerExists: () -> @answerExists
  # Return an array that gives the points for actually making the challenge.
  getRoundChallengePoints: () -> @playerManager.challengePoints[..]
  # Return an array that gives the points for whether they decided with challenge.
  getRoundDecisionPoints: () -> @playerManager.decisionPoints[..]
  # Return an array that gives the points for whether solutions submitted are correct
  getRoundSolutionPoints: () -> @playerManager.solutionPoints[..]



  ###*
   * Once every one has submitted their solutions. It's the end of the round. Add up points.
  ###
  scoreAdder: ->
    # See if we definitely know it's solvable. See if somebody got the goal.
    numPlayers = @getNumPlayers()
