/**
  * @param ServerRequestInterface            $request
  * @param Response                          $response
  * @param callable|MiddlewareInterface|null $next
  *
  * @return Response
  */
 public function __invoke(ServerRequestInterface $request, Response $response, callable $next = null)
 {
     $response = $this->routes->dispatch($request, $response);
     return $next($request, $response);
 }