Refactors common reporting behavior into ReportBehavior module