src/HandlerContainer.php
public function startProcessing(Router $router, Request $request, $uri, $args) : Response
    {
        $params = new ControllerParams($uri, $this->controllerClass, $this->controllerMethod, $args, $router->getServiceContainer());
        
        $request->attributes->set('controller', $params);
        $request->attributes->set('router', $router);
        return $this->process($request);
    }
public function startProcessing(Router $router, Request $request, $uri, $args) : Response
    {
        $params = new ControllerParams($uri, $this->controllerClass, $this->controllerMethod, $args, $router->getServiceContainer());
        
        $request->attributes->set('controller', $params);
        $request->attributes->set('router', $router);
        return $this->process($request);
    }
Start processing this route, by calling middleware in order, and then calling the specified Controller
This call stores various information (args, controller info) on the Request

@param Router $router   The router calling this handler
@param Request $request The request for the current route
@param string $uri      The matched route uri
@param array $args      The matched arguments from the route
@return Response