Add generic submission_content class
Refactor submission content classes to use the new generic class