I guess this would work as long as the ReportWriter is still in charge of handling database operations. We definitely don't want the ContentService triggering DB writes as they may be slow and we need to be careful how we manage them. I had envisioned the ReportWriter instantiating the Report objects for this reason. Passing a hash would also seem to involve less coupling since ContentService then wouldn't need to know about Report.