Define an event, seal it against tampering, then bind two sealed events into a pair with a required temporal relation.
State a material, checkable condition — not 'something happened'.