/**
* Instantiate the controller and run the given action.
*
* @param string $callable
* @param \Symfony\Component\HttpFoundation\Request $request
* @return \Symfony\Component\HttpFoundation\Response
*/
protected function callController($callable, Request $request)
{
list($class, $action) = explode('@', $callable[0], 2);
// Make sure any route parts are available as query parameters from the request.
$request->query->add($callable[1]);
$controller = $this->factory->make($class);
$controller->setRequest($request);
return $controller->call($action);
}