The great thing about 3D is that once you have one of something, you can have just about as many as you want (or at least as many as you have the patience to render!)
This was a basic test of Maya 2015's Scene Assembly system. It's a bit awkward to use, but it will enable me to manage scene environments effectively without being limited by the application or its ability to preview. 27 of my public shower stalls, aligned as originally invisioned (more or less)! Two blocks of these 27 are about all Maya can handle normally, whereas I need 4 for the final scene's layout. With Scene Assembly, I can craft them and set them up in separate file and create a GPU Cache of them, and then produce a representation. This allows me to set either bare locator or the GPU cache to display in Maya through the viewport. With the right settings, Maya will swap out the cache for the final, fully shaded and textured, version when passing scene information on to the renderer. This keeps Maya's preview snappy and workable while allowing me to layout and alight all the scene elements!
This took 1 hour and 36 minutes. I hadn't done any optimizations, so each of them are the full detailed shader networks I devised for the original shower scene. This was just a test; the final version will have multiple versions of varying degrees of complexity. With Scene Assembly, I can assign these varying quality representations and programmatically choose which will be used in the render! So for example, I could have the highly detailed and reflective shaders on the main focus shower that a character is in, while cheaper to render, lower detail and non-reflective shower stall are used in the background, saving rendering time.