do not emit changed event if data hasn't changed