Got the controllers in subdirectory working fine, using the example here:

How do you match the views to the subdirectory?

On the example

public function afterExecuteRoute()
    $this->view->setViewsDir($this->view->getViewsDir() . 'admin/');

but what this does is screw up the rest of the views on the root view folder for the basic wrappers (like shared header).

It seems like there are a bunch of solutions/recommendations?

but not sure how to best implement this?