Want to reference this post on this as well.
Being able to modularize base components of workflows would be a useful step in creating more maintainable workflow code.
As mentioned in the referenced post, I too like to take reusable bits of workflow (ex. a few step process to put meta data about a file into a DB, upload the file to storage, return the URL for that document and update the DB) and then incorporate that base function into other specific contexts as needed.
For example, I might want to process a stored file, which happens to be a spreadsheet of site traffic, into a dashboard for site admins or I might want to process a stored file, which happens to be a picture of a cat, into a collage of random cat images for kicks. Either way, my workflow would basically start the same (upload the file) and then branch from there.