Refactor factory code to be in it's own package