Refactor ExecutionJobFactory to make it less complex