MomentProcess -> Coroutine
Evaluate whether this brings performance improvements and can offer the same "moments".
I happened to create a CoroutineMomentProcessor from the refractor attempt of BehaviourEnabledObserver. The added functionalities (Interval, MaximumRunTime) are originated from the observer.
I have not evaluate the performance, but with respect to BehaviourEnabledObserver, it will behave the same (because it also used coroutine before refractoring).

whether ... can offer the same "moments".
anything in the Coroutine before the first yield would be executed immediately from calling site. anything after the first yield is executed right after Update(). So it cannot offer any moments other than 'RightAfterUpdate'.