Forums service refactoring

( A test case file missing would checkin after merging to avoid merge
conflicts )