A wrapper around various types of Receivers that receive event loop messages. Used for
synchronous DOM APIs that need to abstract over multiple kinds of event loops (worker/main
thread) with different Receiver interfaces.
A wrapper around various types of Senders that send messages back to the event loop
of a script context event loop. This will either target the main ScriptThread event
loop or that of a worker.