Throw errors when arguments can't be handled and we are not at
a subdispatcher.
Added unit tests and fixed some bugs vs expected behaviour
start travis