Split out the HTML generation for Campaigns into new class

Change-Id: Iaf81cc803b31c2ce495071880675b3b6268aa12c