public function run(InputInterface $input, OutputInterface $output)
    {
        $this->returnCode = static::RETURN_SUCCESS;
        $this->doPreRun($input, $output);

        if (!$this->executeDependencies($input, $output)) {
            // Failed to run dependencies.
            $this->returnCode = static::RETURN_ERROR;
        } else {
            // Execute task.
            $this->returnCode = (int) $this->execute($input, $output);
        }

        $this->doPostRun($input, $output, $this->returnCode);

        return $this->returnCode;
    }