     model = view.model
 
     # make it easier to work with for multiple observees
-    if not $.isArray(config.observes)
+    if not $.isArray config.observes
         config.observes = [config.observes]
 
     handler = convert = convertBack = null
 
     # get the interface for interacting with the DOM element.
-    [getter, setter] = InterfaceRegistry.get(config.interface)
+    [getter, setter] = InterfaceRegistry.get config.interface
 
     # a handler can be define which will be used to supply a value
     # provided by the view or model instance. this is needed for

        # passed in value. this is typically necessary when observing
        # multiple attibutes.
        value = if handler then handler() else value
        value = if convertBack then convertBack(value) else value

        setter(element, value)

    for attr in config.observes
        # if config.event is defined, this adds the second binding to make this


            element.bind config.event, toModel

        model.bind "change:#{attr}", toElement
        model.trigger "change:#{attr}", model, model.get(attr)


class ObservableView extends Backbone.View
    setupBindings: ->
        for config in @bindings
            element = $ config.selector, @el
            setupBinding element, config, @

