\Joomla\CMS\Input\Input $input An optional argument to provide dependency injection for the application's
input object. If the argument is a JInput object that object will become
the application's input object, otherwise a default input object is created.
\Joomla\Registry\Registry $config An optional argument to provide dependency injection for the application's
config object. If the argument is a Registry object that object will become
the application's config object, otherwise a default config object is created.
\Joomla\Application\Web\WebClient $client An optional argument to provide dependency injection for the application's
client object. If the argument is a WebClient object that object will become
the application's client object, otherwise a default client object is created.
\Psr\Http\Message\ResponseInterface $response An optional argument to provide dependency injection for the application's
response object. If the argument is a ResponseInterface object that object
will become the application's response object, otherwise a default response
object is created.
Rendering is the process of pushing the document buffers into the template
placeholders, retrieving data from the document and pushing it into
the application response buffer.