You are looking at many info about reaction sequencs

When a message is added to the table of messages, objects are checked to see if they have reacted to that message.

There this list of reacting objects is now sorted by the object's switch:
If its 0 then no reaction happens (its swtched off)
If is > 0 then it will react, the higher the number, the sooner it will react

The objects switch dictate the order so a pebble that has 9 will react before a puddle that has 1.

Right now there is no way to mask the initial mesage that caused a reaction as its existance in the mesage list is the thing thet triggers the reactions.

Since a reaction adds a command into the command list, all reactions to a mesasge will be prepared for processing however the intial object that added the message can add further messages which will happen before the newly added commands get to process.

I wonder if I can explain this graphically..

Bob drops some cheese
- a messages with 'drops' is sent out
- - a mouse and the cheese react to this 'drops'
- - - since mouse has a higher switch it adds its command first
- - - then the cheese adds its command
- the drop command could add more messages now (end of initial 'drops')
- the mouse's command is now processed adding a 'moves' message
- - a nearby cat reacts to this 'moves'
- - - the cat adds its command to the list (after the cheese)
- the cheese's command is processed adding a 'think' message
- - nothing reacts to this
- the cat's command is processed adding a 'jump' message
etc...

Each human player simply reads the messages of the mesage list one by one as they are added
Every 'hit' to cow.pl runs the next command of the command list
When human players execute commands, they generally add their command and execute it straight away.. however if there are pending commands these will e processed as the act of processing commands always takes the oldest un-porcessed command and runs it.

Luckly human players have priority so even tho there may be 100 pending commands on the stack, their 101st command will be processed before all of the others.

My I went off on a tangent there.