Pull the project menu out into a class
Extract ProjectsDialog into its own file
Internal script to generate docs