Formerly, onChange did only fire after a change made by a user. Now, onChange also fires
after programmatic changes: when changing props or calling patch, set, update.
Features
always fire onChange, and let onPatch return a PatchResult (fixes #128) (fb45518)