private async Task <List <MoveContext> > getPlayerCreatureMoveRequests()
    {
        //TODO properly implement
        //List<Pair<BattleCreature, Move>> moveReqs = new List<Pair<BattleCreature, Move>>();

        List <BattleCreature>       activeCreatures = positionManager.getActiveCreatures();
        BattleCreature              c       = positionManager.getActiveCreatures()[0];
        List <SelectButton <Move> > buttons = new List <SelectButton <Move> >();

        c.getMoves().ForEach(m =>
        {
            buttons.Add(SelectButton <Move> .create(m));
        });

        List <SelectButton <Move> > dblButtons = new List <SelectButton <Move> >();

        dblButtons.AddRange(buttons);
        dblButtons.AddRange(buttons);

        Move move = await battleUIManager.getSelection <Move>(dblButtons, c.creature.creatureName + " move selection:");

        List <BattleCreature> targets = new List <BattleCreature>();

        switch (move.targetClass)
        {
        case TargetClass.ENEMY_SINGLE:
            break;

        case TargetClass.ALLY_SINGLE:
            break;

        case TargetClass.ALLY_ALL:
            break;

        case TargetClass.ENEMY_ALL:
            break;

        case TargetClass.ALL:
            break;
        }

        Debug.Log("Move selected: " + move.ToString());


        MoveContext context = new MoveContext(move, c, null, null, null);

        return(new List <MoveContext> {
            context
        });
    }