You should just inline the UserFunc::withArray body here and remove that additional class. It'll make it even faster in this case since you save a func call, and it's the only one that really has to be optimized, the others are called a couple times at most during install/update.