Historical Transaction Group question

I have a historical transaction group that is supposed to record event history. The idea is that whenever an event occurs, such as the part is returned or pickup up, we will save the environmental data along with some data specific to that part, such as work order and customer name. I am triggering this group off of a tag called Event. It is an INT and whenever the tag does not equal 0 the group fires.

I have gotten all this to work but in testing it, it occurred to me that there could be a time where events fire at the same time or before the transaction group has finished causing it to miss events.

So my question is this: How should I go about ensuring that I don’t miss events? Would I have to create a sperate transaction group for each event? Or is there a way to have ignition buffer the events? And suggestions would be appreciated.