Problem/Motivation
The MaintenanceModeSubscriber currently renders the maintenance page by directly calling DefaultHtmlPageRenderer::renderPage.
Proposed resolution
Throw an ServiceUnavailableHttpException and render the page from within ExceptionController. This involves dealing with some problems related to the controller being run from within a subrequest and the symfony ExceptionListener treating everything with status code >=500 as a critical error.
See #2288665-15: Remove _maintenance request attribute and replace it with a maintenance mode service and #23.
Remaining tasks
User interface changes
API changes
Follow-up to #2288665: Remove _maintenance request attribute and replace it with a maintenance mode service