public StartupWindowViewModel(ISettingsSerializer settingsSerializer,
            IProjectLoader projectLoader,
            IFileOpener<IProject> projectOpener)
        {
            Check.IfIsNull(settingsSerializer).Throw<ArgumentNullException>(() => settingsSerializer);
            Check.IfIsNull(projectLoader).Throw<ArgumentNullException>(() => projectLoader);
            Check.IfIsNull(projectOpener).Throw<ArgumentNullException>(() => projectOpener);

            this.projectLoader = projectLoader;
            this.projectOpener = projectOpener;
            var settings = settingsSerializer.Read();
            recentProjects = settings.RecentProjects;
        }