public function dispatch(string $command, array $arguments, array $globalOptions): int
	{
		$command = $this->resolve($command);

		$this->checkArgumentsAndOptions($command, $arguments, $globalOptions);

		$returnValue = $this->execute($command, $arguments);

		return is_int($returnValue) ? $returnValue : CommandInterface::STATUS_SUCCESS;
	}