Mas o menos, el problema es que
ESTAS COMBINANDO EL CONTROLADOR CON LA VISTA, pero vas por buen camino, lo que debes hacer es tomar esos "nuevos" métodos y colocarlos EN OTRA CLASE que puede llamarse VIEW y de la clase CONTROLLER le pasa las variables $pagina y $html y todas las variables que sean necesarias...
Ejemplo...
Código PHP:
Ver original<?php
$controller = new Controller();
$view = new View();
$view->cargarPagina($controller->getPagina());
$view->mostrarPagina();
En el metodo mostrarPagina() haces los cambios pertinente, y envías el código al navegador (html, xml, json, etc)