In addition to accepting the new argument, the user function backend has been redesigned for
flexibility. The assembly of coordinates and final rotations and translations now consist of three
loops over desired data pipes, all models, and all molecules. If the models or molecules arguments
are supplied, then the models or molecules in the loop which do not match are skipped. This logic
simplifies and cleans up the backend.