Separate argument parsing from saving; clean up.