updated argument handler to work without callback

The method seems convoluted, but correctly applies the callback.  Please feel free to update it if it is too long.