Their are two classes named 'app\controllers\SiteController', while it should work in most cases, this may lead to unexpected confusion. How about making it obvious in frontend and backstage classes wherethey belong and let app\<component> naming be restricted to common.

Also IDEs may scream.