If your tool edits features and rows, you can use IEditor::StartOperation, and IEditor::StopOperation and the actions in between will be automatically added to the OperationStack as a single operation. Stopping an edit session clears the OperationStack.