Refactored factory enough to get it to work. We're still using it oddly.