public ScenarioPokemonViewModel(
        IJumpService jumpService,
        IScenarioWarriorService scenarioWarriorService,
        IIdToNameService idToNameService)
    {
        _model = new ScenarioPokemon();;

        JumpToPokemonCommand      = new RelayCommand <int>(id => jumpService.JumpTo(PokemonSelectorEditorModule.Id, id));
        JumpToAbilityCommand      = new RelayCommand <int>(id => jumpService.JumpTo(AbilitySelectorEditorModule.Id, id));
        JumpToFirstWarriorCommand = new RelayCommand(() =>
        {
            int i = 0;
            foreach (var sw in scenarioWarriorService.Retrieve((int)_scenario).Enumerate())
            {
                if (!sw.ScenarioPokemonIsDefault(0) && sw.GetScenarioPokemon(0) == _id)
                {
                    jumpService.JumpToNested(ScenarioWarriorSelectorEditorModule.Id, (int)_scenario, i);
                    return;
                }
                i++;
            }
        });

        PokemonItems = idToNameService.GetComboBoxItemsExceptDefault <IPokemonService>();
        PokemonItems.Add(new SelectorComboBoxItem(511, "Default"));
        AbilityItems = idToNameService.GetComboBoxItemsPlusDefault <IAbilityService>();
    }