ClientModeGroups => WorkingModeGroups
Remove the 'AppObjects', use companion objects instead
Use 'trait+object' of 'Contexts' to make code simpler
Remove unnecessary trait to simplify code
Refactor project related code, and empty project won't be destroyed automatically.
Compilation passed ...
Tests (including changed caret-sharing mode) passed.