Dispatch Hooks

I don't agree with we're the only users of this `DispatchCall#doExecute()`. The whole hierarchy is meant to be extended by whoever wants to dig deeper. I would never say we are the only users of this. DispatchCall is an abstract class. It expects the implementer to perform the execute code in `doExecute` and call a callback when success/failure. If it's not implemented, the contract is not respected. If it's abstract, the implementer knows it's required.