       if firechange
         @trigger('change:' + prop_name, this, @get(prop_name))
         @trigger('change', this)
+
     prop_spec =
       'getter': getter,
       'dependencies': [],

    delete @_computed[prop_name]

  get: (prop_name, resolve_refs=true) ->
    # ### method: HasProps::get
    # overrides backbone get.  checks properties,
    # calls getter, or goes to cache
    # if necessary.  If it's not a property, then just call super
    if _.has(@_computed, prop_name)
      return @_get_prop(prop_name)
    else

    return this

  set: (key, value, options) ->
    # backbones set function supports 2 call signatures, either a dictionary of
    # key value pairs, and then options, or one key, one value, and then options.
    # replicating that logic here
