Currently, from event reactor method we can return: 1. `EventMessage` 2. `Optional<EventMessage>` 3. `Iterable<EventMessage>` 4. `EitherOf<...>` But, to express that we want to return a pair (or triplet, or ...) of events or nothing we have now the following options: 1. `Triplet<EventMessage,EventMessage,Nothing>` 2. `Iterable<EventMessage>` where iterable is empty when no events are emitted The best way to express this, from my standpoint, is to have an `Optional<Pair<EventMessage, EventMessage>>` that is not supported by the framework now.