         if typeof target is 'string'
           [selector, attr] = @_splitTarget target
 
-          @_cacheTarget selector unless @_targets[selector]?
+          unless @_targets[selector]?
+            @_cacheTarget selector
     return
 
   _computeComputed: (name) ->

    @_watchers = {}

    # Generate list of watchers per name
    for watcher, watched in @watching
      unless Array.isArray watched
        watched = [watched]


    if (watchers = @_watchers[name])?
      for watcher in watchers
        @_renderBindings watcher
    return

  # Render current state according to bindings.
  render: (state) ->
