guarda con tutta franchezza riesco a capire le cose solo a mano mano che mi posti il codice...
Nel senso ok per l'inserimento è chiaro tu hai una classe formvalidator che in base a determinati parametri va i dovuti controlli ed emette o meno errori..

Da quanto posso capire e intuire il metodo add è bivalente, nel senso che verifica se c'è un submit della form..
se c'è fa l'insert..
altrimenti
$content = new partial( 'taxcode-add-form' );
$this->view->title = 'Taxcode - Add';
$this->view->addView( $content );

(Non ho idea di cosa sia il metodo partial) ma presumo che in base al valore passato 'taxcode-add-form', 'form-message' restituisce o la form vuota oppure solo il messaggio
Il metodo addview presumo che faccia proprio la echo..


Percui dalla tua pagina.. tu non richiamerai mai l'oggetto view...
ma sempre e solo il controllore, che passerai al modello, il quale infine richiama l'opportuno metodo della view e lo stampa.

Questa ultima frase è motivata dalla famosa domanda come ottenere il multiriga???

Si è veramente molto complesso, non riuscirei a fare un codice mvc efficiente.

Ma le tue pagine "entrypoint" come sono?
Nel senso come fai a sapere cosa fare?
Esempio parner :

partner.php

partner.model.php
partnet.controller.php
partner.view.php

partner.php?funz=insert
partner.php?funz=mod&id=12345
partnet.php?funz=delete&id=123456
partnet.php?funz=view
partnet.php?funz=view + ($_POST[] per discriminare se molti o uno)