gameELementFactory refactor