Used interface and CDI for design
refactored report task a little bit