To make it easier to integrate new project types a refactoring of the existing backend is due. See also #665.