fix a bug where setting an object to a primitive wouldn't trigger a change event