public Core( Config config, ProjectLoader projectLoader, TranslationService translationService, TemplateFunnel templateFunnel ) { Config = config; this.projectLoader = projectLoader ?? throw new NullReferenceException(projectLoader.GetType() + " was null."); this.translationService = translationService ?? throw new NullReferenceException(translationService.GetType() + " was null."); this.templateFunnel = templateFunnel ?? throw new NullReferenceException(templateFunnel.GetType() + " was null."); projectFactory = new ProjectFactory(this); projectManager = new ProjectManager(this); windowFactory = new WindowFactory(this); }