Provides computed property support for Backbone.js. Rather than providing an attribute you can provide a spark function which returns a computed value, or sets a computed value.
If you have multiple dependents and they all change, the spark change event will be raised multiple times.
This could be fixed by watching for the change event, not the attribute specific change event.
Getter's get model.attributes whereas setters get the model, which means a getter uses model.filePath but a setter uses model.get('filePath').
This is inconsistent.
Backbone.Spark could record the value returned from the spark in a cache, and invalidate the cache when a dependent changes.
This could be optional with a call to useCache() or perhaps noCache() after dependsOn().