 
   setInputSummary: (summary = {}) ->
     @inputSummary.eventName = @eventName
+    @extendInputSummary(summary)
+
+  extendInputSummary: (summary) ->
     @inputSummary[key] = value for key, value of summary
-    inputLog.log("#setInputSummary", JSON.stringify(@inputSummary))
     @inputSummary
 
   resetInputSummary: ->

  elementDidMutate: (mutationSummary) ->
    inputLog.group("Mutation")
    inputLog.log("mutationSummary =", JSON.stringify(mutationSummary))

    unless @mutationIsExpected(mutationSummary)
      inputLog.log("mutation doesn't match input, replacing HTML")

      when @inputSummary.keyName is "return"
        true
      else
        unhandledAddition = mutationSummary.textAdded isnt @inputSummary.textAdded
        unhandledDeletion = mutationSummary.textDeleted? and not @inputSummary.didDelete
        not (unhandledAddition or unhandledDeletion)

