You will have to basically give each unit on the map some user-defined states, such as an integer that represents how much time the unit has to be stunned.
When an event happens, the unit gets stunned in this case, you don't actually stun him but add the stunning time to that unit's stun-time value, and every second (or less or more, whatever you want) you check if that value is greater then 0 and pause him and add whatever effects you want.
If you don't know vJass - which I'm assuming you don't - don't do it. It will be nasty.