processEvent
Process the eventEnvelope, persisting the last processed event ID if the event is not transient (see EventDeliveryInfo.isTransient). If the processing fails, the last processed event ID will not be updated.
Return
Either if the event processing failed, or Unit if the event was processed successfully.