Completed (sans thorough bug testing) split of preview/perform controller logic.  Also fixed several synchronization issues between components, and the initialization issue with the perform window