Czy zdajesz sobie sprawę z tego że to co napisałeś to pierwsza (może bardzo uproszczona ale jednak) wersja Twojego własnego mikro-frameworka? W praktyce jednak jest trochę inne podejście, Ty komunikujesz się z modelami w widoku, tymczasem we frameworkach (przynajmniej tych które spotkałem) to się dzieje w kontrolerze a do widoku przekazujesz dane w postaci tablicy co też zresztą zrobiłeś ale w widoku. Więc nie jest to klasyczny MVC ale MVP.
Warto by się było zastanowić nad taką przykładową strukturą katalogów:
/application
/config
/controllers
welcome.php
/i18n
/models
/views
/template
layout.php
/error
404.php
/welcome
index.php
/vendor
/storage
/cache
/logs
bootstrap.php
/system
/core
/config
/controllers
/views
/models
/vendor
/web
/css
/images
/js
index.php
.htaccess
robots.txt
favicon.ico
Pomyśl o Layout Pattern, to ma zastosowanie w przypadku gdy w takiej twojej stronie na tym wszystkie zakładki będą miały podobny wygląd a Ty tylko będziesz zmieniał treść. Pomyśl o klasach do cache, obsłudze błędów (np. 404, 500) i własnych widokach. Może jeszcze jakiś własny ORM?