public Decision takeDecision(IPersonToStrategy person, PersonalEnvironment personEnvir, Habitat settlement)
    {
        if (inDangerous(person))
        {
            return new TraderHealing();
        }
        if (person.getEquipment().howMoneyInCash() < 10) {
            ChangeProfession decision = new ChangeProfession();
            decision.newState = PersonState.LastActionCompleted;
            decision.newProfession = Profession.Peasant;
            return decision;
        }
        switch (person.getStatus())
        {
            case Ready:
                switch (person.getLastDecision().nextAction)
                {
                    case Free:
                        return Actions.free();
                }
                return person.getLastDecision();
            case LastActionCompleted:
                return Actions.trading(settlement, personEnvir);
            case Fighting:
                return Actions.attacking(person.getOpponent());
        }
        return Actions.free();

    }