public CivilianPopulationUI(CivilianPopulationAdapter adapter, CivilianPopulationCore core)
        {
            this.adapter = adapter;
            this.core    = core;

            GameEvents.onGUIApplicationLauncherReady.Add(onAppLauncherReady);         //when AppLauncher can take apps, give it OnAppLauncherReady (mine)
            GameEvents.onGUIApplicationLauncherDestroyed.Add(onAppLauncherDestroyed); //Not sure what this does
        }
        //internal static String _AssemblyName { get { return System.Reflection.Assembly.GetExecutingAssembly().GetName().Name; } }
        //int baseWindowID;

        public CivilianPopulationUI(CivilianPopulationAdapter adapter, CivilianPopulationCore core)
        {
            this.adapter = adapter;
            this.core    = core;

            //InitToolbarButton();
            //baseWindowID = UnityEngine.Random.Range(1000, 2000000) + _AssemblyName.GetHashCode();
        }
        public void Start()
        {
            CivilianPopulationAdapter       adapter       = new KSPAdapter();
            CivilianPopulationConfiguration configuration = new CivilianPopulationConfiguration();

            configuration.setTimeBetweenRents(RENT_DELAY);
            configuration.setRentAmountPerCivilian(RENT_PER_CIVILIAN);

            core = new CivilianPopulationCore(adapter, configuration);
            ui   = new CivilianPopulationUI(adapter, core);
        }
        public CivilianPopulationUI(CivilianPopulationAdapter adapter, CivilianPopulationCore core)
        {
            this.adapter = adapter;
            this.core    = core;

#if false
            GameEvents.onGUIApplicationLauncherReady.Add(onAppLauncherReady);         //when AppLauncher can take apps, give it OnAppLauncherReady (mine)
            GameEvents.onGUIApplicationLauncherDestroyed.Add(onAppLauncherDestroyed); //Not sure what this does
#endif
            InitToolbarButton();
            baseWindowID = UnityEngine.Random.Range(1000, 2000000) + _AssemblyName.GetHashCode();
        }