def manipulate_keys!(&block)
      @store.keys.each do |old_name|
        new_name = block.call(old_name)
        unless new_name == old_name
          @store[new_name] = @store[old_name]
          @store.delete(old_name)
        end
      end
    end
def manipulate_keys!(&block)
      @store.keys.each do |old_name|
        new_name = block.call(old_name)
        unless new_name == old_name
          @store[new_name] = @store[old_name]
          @store.delete(old_name)
        end
      end
    end
Calls a block to do operations on keys
 See sanitize_keys! for examples

 @param block [Proc] Block with operations on keys
 @yieldparam key [Object] Original key
 @yieldreturn [Object] Manipulated key