protected function exec($request, $response)
{
list($handler, $args) = $this->dispatch($request);
$action = $this->createAction($handler);
$request->callMiddleware();
$data = $this->runAction($action, $args, $request, $response);
if (!$data instanceof Response && $data !== null) {
$response->with($data);
}
}