reafactors ArgumentHandler so that it's return types are consistent
	* testing the module will be easier this way, as well
	* inserts guard clause at top of Controller::run