def on(name)
          indexes = Indexes.new(connection: connection).on(name)

          yield

          IndexCreation
            .new(connection: connection, speaker: speaker)
            .try_create(indexes)
        end
Caches indexes on the provided object before executing the block and
then reapplying the indexes. Each recreated or skipped index is
announced to STDOUT by default. This can be overridden in the
constructor.

@param name The name of the object we are reapplying indexes on.
@yield Operations to perform before reapplying indexes.

@return [void]