Lots of shared code here with XV.IssueToStockWorkspace. Maybe we can just use that as the kind so we're only defining what is different?