There's a common pattern in here of:
$foo = $input->getOption('foo');
if ($foo) {
return $foo;
}
// calculate foo some other way
return $foo;
This basic behavior could be easily encapsulated inside of a method like:
return $inputHelper->getOptionOrExec('foo', $functionToCalcFoo);