 			else
 				@_selectTokenOwner()
 
-
-
+		# Is called when we receive a candidate request for a token. We will propose our child closest
+		# to the target position of the token.
+		#
+		# @param tokenString [String] a string representation of the token.
+		#
 		_onTokenRequestCandidate: ( tokenString ) =>
 			unless @isSuperNode
 				return

				@_computeTokenTargetPosition()
			, @_tokenInfoTimeout)

		_onTokenInfo: (tokenString, instantiate = true) =>
			token = Token.deserialize(tokenString)
			console.log "received info about token with id ", token.id
			@addToken(token)

			if oldToken = _(@_tokens).find( ( t ) -> token.id is t.id)
				@_tokens.remove(oldToken)

		# Creates a new token and passes it on to a random child.
		#
		_distributeToken: ( ) =>
			token = new Token()
			children = @getChildren()
			randomChild = children[_.random(0,children.length-1)]
			randomChild.emit('token.receive', token.serialize())
			console.log  randomChild.id +  ' received a token with id ', token.id

		# Is called when we received a token. This will start the token hop 
		# process.
		#
		# @param tokenString [String] a string representation of the received token.
		#
		_onTokenReceived: ( tokenString ) =>
			if @token?
				return

