private void EditLogic()
        {
            LogicReference foo = (LogicReference) this.Logic;
            EditPropertyWindow window = new EditPropertyComboBoxWindow (foo.Logic.ToString (), MainWindow.Game.SavedLogic.ToArray (), foo.Logic, false);

            if (window.ShowDialog (MainWindow.Instance) == System.Windows.Forms.DialogResult.OK) {
                LogicItem before = foo.Logic;
                MainWindow.Instance.PushUndo (() => SetLogic (before));
                SetLogic ((LogicItem) window.Value);
            }
        }
        private void EditStartingZone()
        {
            EditPropertyWindow window = new EditPropertyComboBoxWindow (startingZone, MainWindow.Game.Zones.ToArray (), MainWindow.Game.StartingZone, false);

            if (window.ShowDialog (MainWindow.Instance) == System.Windows.Forms.DialogResult.OK) {
                Zone before = MainWindow.Game.StartingZone;
                MainWindow.Instance.PushUndo (() => SetStartingZone (before));
                SetStartingZone ((Zone) window.Value);
            }
        }