Add fields for average costs
Move methods that generate pdf into traits for better reusability
Move methods that generate pdf into traits for better reusability