allow array to be updated using `obs.set`

extract update portion of `transaction` to standalone set method
Merge pull request #12 from Raynos/better-set

allow array to be updated using `obs.set`