There are several reasons to refactor the code in ProjectBase (and partially in ModelImpl) that deals with project
status, project creation and deletion:
a) it isn't clear enough
b) initialization process (creating CsmFile instances and putting them into queue) might be long, but dispose() or even
setDispose() can not interrupt it since it holds disposeLock.
c) it might contain some latent synchronization issues