public function handleArgs(array $args)
    {
        foreach ($this->routes as $route) {
            $input = $args;
            $output = array();
            if ($route->matches($input, $output)) {
                return $route($output);
            }
        }

        throw new NoRouteFoundException('No matching route found');
    }