 
     cut: (event) ->
       @delegate?.inputControllerWillCutText()
-      defer => @responder?.deleteBackward()
+      @deleteInDirection("backward")
 
     paste: (event) ->
       paste = event.clipboardData ? event.testClipboardData

    try
      console.group "Mutation: #{JSON.stringify({@input, textAdded, textDeleted})}"
      unhandledAddition = textAdded? and textAdded isnt @input
      unhandledDeletion = textDeleted? and @input isnt "backspace"
      if unhandledAddition or unhandledDeletion
        @responder?.replaceHTML(@element.innerHTML)
      @requestRender()

    control:
      d: (event) ->
        @delegate?.inputControllerWillPerformTyping()
        @deleteInDirection("forward")

      h: (event) ->
        @delegate?.inputControllerWillPerformTyping()
        @deleteInDirection("backward")

      o: (event) ->
        event.preventDefault()
