def __init__(self, owner, id, submitter, **abstractData):
        self._setOwner( owner )
        self._setId( id )
        self._title = ""
        self._authorGen = Counter()
        self._authors = OOBTree()
        self._primaryAuthors = PersistentList()
        self._coAuthors = PersistentList()
        self._speakers = PersistentList()
        self._tracks = OOBTree()
        self._contribTypes = PersistentList( [""] )
        self._setSubmissionDate( nowutc() )
        self._modificationDate = nowutc()
        self._currentStatus = AbstractStatusSubmitted( self )
        self._trackAcceptances = OOBTree()
        self._trackRejections = OOBTree()
        self._trackReallocations = OOBTree()
        self._trackJudgementsHistorical={}
        self._comments = ""
        self._contribution = None
        self._intCommentGen=Counter()
        self._intComments=PersistentList()
        self._mergeFromList = PersistentList()
        self._notifLog=NotificationLog(self)
        self._submitter=None
        self._setSubmitter( submitter )
        self._rating = None # It needs to be none to avoid the case of having the same value as the lowest value in the judgement
        self._attachments = {}
        self._attachmentsCounter = Counter()