     @binder or= @view.binders['*']
     @binder = {routine: @binder} if @binder instanceof Function
 
-  setModel: =>
-    observer = new KeypathObserver @view, @view.models, @keypath, (target) =>
+  setObserver: =>
+    @observer = new KeypathObserver @view, @view.models, @keypath, (target) =>
       @unbind true if @key
       @model = target
       @bind true if @key
       @sync()
 
-    @rootKey = observer.root
-    @key = observer.key
-    @model = observer.target
+    @rootKey = @observer.root
+    @key = @observer.key
+    @model = @observer.target
 
   # Applies all the current formatters to the supplied value and returns the
   # formatted value.

    @formatters = @options.formatters || []
    @dependencies = []
    @setBinder()
    @setModel()

  setBinder: =>
    unless @binder = @view.binders[@type]

  constructor: (@view, @el, @type, @keypath, @options = {}) ->
    @formatters = @options.formatters || []
    @dependencies = []
    @setObserver()

  # A standard routine binder used for text node bindings.
  binder:
