Broken the args parsing out into tasks