Refactor factories, revisit visitors