In retrospect, it was a mistake in search to use the pattern of invoking the task on MQ directly. Could you please have a method like PreviewProcessorAPI.generatePreview(id, contentType) that handles the logic for firing the generate-preview event? In this case, the `GENERATE_PREVIEWS` constant can probably actually just move to the preview-processor module and no one else needs to know it exists.

I'll be doing something similar for search at some point. Activities does this by using a `ActivitiesAPI.postActivity(...)` method.