Looks like the `prepare_to_cache` is public for the sake of testing, what do you think of calling `serializable_hash` here and make `prepare_to_cache` it a private method?