def if_string_changed(key, new_value, &block)
      if new_value != @hash_store[key]
        old_value = @hash_store[key]
        @hash_store[key] = new_value
        block.call(key, new_value, old_value) if block_given?
      end
    end
def if_string_changed(key, new_value, &block)
      if new_value != @hash_store[key]
        old_value = @hash_store[key]
        @hash_store[key] = new_value
        block.call(key, new_value, old_value) if block_given?
      end
    end
Execute the given block if the input is different from
 the output .

 key - the key to lookup the stored hash value
 new_value - the value to compare with the stored hash value
 block - block to execute if the hash value does not match the stored hash value

 return if the block was not executed, false, if it is executed, the return
         status of the block