protected function set_address_prop( $prop, $address, $value ) {
        if ( array_key_exists( $prop, $this->data[ $address ] ) ) {
            if ( true === $this->object_read ) {
                if ( $value !== $this->data[ $address ][ $prop ] || ( isset( $this->changes[ $address ] ) && array_key_exists( $prop, $this->changes[ $address ] ) ) ) {
                    $this->changes[ $address ][ $prop ] = $value;