I'm inclined to move logic out of produceTransactional() into the Drupal producer module instead. With things like `campaign-signup` and `-reportback`, it's very specific to just DS needs.