watch javascript object properties and values changes