urbanairship/objectstate — pull request #14 by jarofghosts (2014-12-23 00:09:38+00:00)
Title: Emit on change, deep copy objects

* Only emit on change
* Deep copy all objects on input and output
* Add keypath access
* Fix nested `.wait()`

This also, somewhat controversially, switches ObjectState to use a more "functional" style internally. This successfully hides the internal state object from any outside mutation, and does not present any notable performance hits.