store up collision events so that we can fire them all at the same time. this will avoid the case where all the collision flags are not yet set when the first collision event occurs.