ScopedEventId is not constructible from the return value of
Scheduler::scheduleEvent, but separately requires a reference to a
Scheduler instance to be passed to its constructor.
This issue is to refactor both types, so that:
scheduler::EventIdcontains a reference to the
Schedulerinstance. It serves as an "unscoped EventId".
scheduler::EventIdis convertible to
This improves the overall usability of these APIs.