Why not model time as yet another stream of events?  I know time is best looked at as continuous and there could be stability issues, but in a digital computer system, time is ultimately discrete.  

That way, questions about coincidence of events can be addressed simply by determining order of events.  Sliding windows are also trivially made by slicing a time stream.