I also am updating the design of my site and have several different themes I'm working with. Right now I have a subsystem for each theme, so the files are all named the same, just the code in the /layouts and /views folder is different. In the controllers folder each subsystem, each controller contains an include to the main controller.
I’ll second what Cameron said and point you to https://github.com/framework-one/fw1/tree/develop/examples/skinning which overrides customizeViewOrLayoutPath() to provide themes. That’s very similar to what we do in ColdBox at work to provide a range of site themes across over a hundred sites on a single multi-tenant code base.
I would *not* use subsystems for this.
Sean Corfield -- (970) FOR-SEAN -- (904) 302-SEAN
An Architect's View -- http://corfield.org/
"If you're not annoying somebody, you're not really alive."
-- Margaret Atwood