make TaskFactory constructor private