Better sub dispatch support

Basic changes:

* Allow sub-dispatch to work on runDefault()
* Don't throw `UnknownArgument` if one of the arguments is Dispatch
* Expose `args` as read only so your subdispatch method can use it