protected function _extractValue(array $videoData, $key) {
        // Allow dot-notation to walk thru arrays
        if (strpos($key, '.') === false) {
            return $videoData[$key];
        }
        $keyParts = explode('.', $key);
        $key = current($keyParts);
        $value = $videoData;
        while (is_array($value) && array_key_exists($key, $value)) {
            $value = $value[$key];
            $key = next($keyParts);
        }
        if (is_array($value)) {
            throw new Garp_Model_Behavior_Exception(
                sprintf(self::EXCEPTION_UNDEFINED_MAPPING, $key)
            );
        }
        return $value;
    }