These convenient wrappers typically try to anticipate the most common process and do something more with the results to facilitate that, rather than return the result object from the app controller. In this case, I think maybe the function should take the path where the assembled fastq should be stored, and write the result to that file.