Lots of copy pasta here... why not just change the callback to do this instead of duplicating N times