Rework the way dispatches work.

I have no idea how it even worked previously.