CyberShot , вкусовщина. Во всех учебниках говорится, что роутер должен вызывать контроллер. Как собственно у тебя и сделано. Но я убежден, что роутер должен только определять маршрут, а вызывать контроллер должен отдельный класс.
Например так: $Router = new Router($list); $Router -> dispatch();