Have you tried just wrapping the 120 intermediate edits into a single operation ?
You can define a block form method within your extension submodule to simplify wrapping operations:
def wrap_as(op_name)
model = Sketchup.active_model
model.start_operation(op_name, true)
#
yield model model.active_entities model.selection
#
model.commit_operation
rescue => error
puts error.inspect
model.abort_operation
end