     @registerGlobal(object)
     if @options.get
       # add a listener which adds any dependencies that haven't been specified
-      listener = (name) =>
-        if @addDependency(name)
-          # bust the cache
-          def object, "_s_dependencyCache", value: {}, configurable: true
-
+      listener = (name) => @addDependency(name)
       object._s_property_access.bind(listener) unless "dependsOn" of @options
       value = @options.get.call(object)
       object._s_property_access.unbind(listener) unless "dependsOn" of @options

          deps.push(property.name)
          findDependencies(property.name)
    findDependencies(@name)

    object._s_dependencyCache[@name] = deps

  triggerChanges: (object) ->
    changes = {}

    bind: -> @[name] # make sure dependencies have been discovered and registered
    optimize: (queue) -> queue[queue.length - 1]

  def object, name,
    get: -> property.get(this)
    set: (value) -> property.set(this, value)
