       @formattedValue value
 
     if @options.special is 'event'
-      @routine @el, value, @currentListener
-      @currentListener = value
+      @currentListener = @routine @el, @model, value, @currentListener
     else if @options.special is 'iteration'
       @routine @el, value, @
     else

    # Assume we are in IE and use attachEvent.
    event = 'on' + event
    el.attachEvent event, fn

# Cross-browser event unbinding.
unbindEvent = (el, event, fn) ->

    else el.value

# Returns an event binding routine for the specified event.
eventBinding = (event) -> (el, context, bind, unbind) ->
  unbindEvent el, event, unbind if unbind
  bindEvent el, event, bind, context

# Returns a class binding routine for the specified class name.
classBinding = (name) -> (el, value) ->
