commented out processContributionByType as this probably needs to be retought (do it by inheritance maybe?)