ProjectManager prototype #8 refactored