ciao, i tuoi dubbi li puoi solo risolvere studiandoti la documentazione
comunque in breve, puoi usare 1 controller solo situato nella root del componente che si chiamera controller.php e dentro avra una class ComponentController extends JCotrollerLegacy o quello che vuoi
e li dentro ci scrivi tutte le funzioni
le funzioni vengono richiamate tramite url o form con la variabile task quindi avrai nella tua form un task ad esempio task="funzione_a", quindi la action serve relativamente, dovrai fare tu un redirect dopo l'aver eseguito la funzione , e far andare l'utente al passo successivo
oppure se hai piu view e model puoi utilizzare controller specifici situati nella cartella controllers del tuo componente, qui scriverai i tuoi controller con nome uguale alla view quindi view bla avra controller bla
Qui questo controller potra estendere o ComponentController di prima o un altro controller sia tuo che del core. Le funzioni che stanno in questo saranno richiamabili tramite task="bla.funzione_a"
Comunque cerca una guida xche è veramente lunghissimo da spiegare ho cercato solo di darti un idea