Add jsr305
Split out reporting into seperate component