Add early MVP of Dispatcher.

Doesn't include the Transition support I am working on, but a drop-in replacement for what cloner is using.