@Override
    protected Budget createBudget(String budget_choice) throws Exception {

        validateBudgetChoice(budget_choice);

        return (budget_choice.equals(ANNUAL_BUDGET)) ?
                new AnnualBudget("Annual budget", new BigDecimal(BigInteger.ZERO), new Date()) :
                new MonthlyBudget("Monthly budget", new BigDecimal(BigInteger.ZERO), new Date());
    }