Factories Created

Controller consolidation begins
Factories created for easier cross-controller functionality & cleaner
code within controller