abstract fun apply(event: E): E
Given an event event, returns the next corresponding event that this lifecycle should dispose on.
event - the source or start event.
OutsideScopeException - if the lifecycle exceeds its scope boundaries.
Return
the target event that should signal disposal.