public function resolve($value, $default = 'value')
    {
        $matches = [];
        if (is_string($value) && preg_match('/^('.self::KEY_REGEX.')'.  preg_quote($this->separator).'(.*)/', $value, $matches)) {
            if (isset($this->filters[$matches[1]])) {
                return call_user_func_array($this->filters[$matches[1]], [$matches[2]]);
            } else if (function_exists($matches[1])) {
                return call_user_func_array($matches[1], [$matches[2]]);
            }
        }

        return $this->fallback->resolve($value, $default);
    }