Often when I am designing for the web (be it mocks, or full spreads of websites) I have many repeating elements throughout my document. I am looking to follow the Don't Repeat Yourself (DRY) philosophy.
One case: I am designing a mockup to illustrate the path of the user through a website. I do this by starting at a tabula rasa page which includes the default state of the website. Then, I copy this page and tweak it to fit the next step of the user's interaction. Then, some small aspect of the page will change (the header color for example), and I'll be forced to make that change to every step in my mock.
So, is there software that allows me to make sections of my design once (header, footer, sidebar, a set of buttons, etc.), reuse them, and then make changes in only one place if needed?
This is something akin to partials from Rails or Microsoft MVC if you're familiar, but for design software.