public function run($input = null)
{
$callback = $this->getCallback();
ob_start();
$exitCode = $callback($input);
$output = ob_get_contents();
ob_end_clean();
// Run the piped command, if any
if ($this->hasPipedCommand()) {
$pipedCommand = $this->getPipedCommand();
$pipedCommand->run($output);
$output = $pipedCommand->getOutput();
$exitCode = $pipedCommand->getExitCode();
$errorOutput = $pipedCommand->getErrorOutput();
}
$this->_output = $output;
$this->_exitCode = $exitCode;
return $this;
}