public function getValue($componentName, $default = null)
    {
        // Try to get fresh submitted value ...
        $value = $this->getSubmittedValue($componentName);

        // If not received try to load from pool ...
        if (
            null === $value ||
            (
                true === is_array($value) &&
                true === array_key_exists('error', $value) &&
                $value['error'] !== UPLOAD_ERR_OK
            )
        ) {
            $value = $this->getPoolValue($componentName, $this->getStep());
        }

        // Still not received? assign default
        if (null === $value) {
            $value = $default;
        }

        return $value;
    }