MessageDispatcher
Represents a message dispatcher that can run and dispatch messages.
A dispatcher is a named RuntimeComponent; me.ahoo.wow.runtime.WowRuntime is its lifecycle owner.
Implementations must keep construction inert: acquire resources and subscribe to message sources from prepare/start, after the canonical runtime owns the dispatcher. Long-lived asynchronous work must acquire a RuntimeActivity from the provided RuntimeContext, close intake from quiesce, and report terminal pipeline failures with reportFailure.