Cita: La class ControladorProducto hace inclusiones de archivos de vistas, esto va totalmente en contra de MVC.
Si, el codigo se está enredando un poco. Pero por qué un controlador no puede hacer inclusión de una vista? Es decir, lo que falla es que está incluyendo muchas vistas.
Cosas como esta deberías evitarlas en una plantilla: $modelProveedor = new ModelProveedor();
EN fin, necesitarías una vista que maneje la inclusión de las demás vistas. Y que lo haga por medio de funciones. (este es mi parecer. La verdad es que hace poco que empecé con MVC).
Antes de seguir adelante, recomiendo leas un poco más sobre el patron. Se consiguen buenos tutoriales por ahí.