.with("Budget", (Displayable) () -> MONEY_FORMATTER.format(budget),
new DefaultStyleable("right-aligned",
budget.isEqualTo(Money.ZERO) ? "alerted" : ""))
.with("Earnings", (Displayable) () -> MONEY_FORMATTER.format(earnings),
new DefaultStyleable("right-aligned",
earnings.greaterThan(budget) ? "alerted" : "",
earnings.isEqualTo(budget) ? "green" : ""))
.with("Time", (Displayable) () -> DURATION_FORMATTER.format(project.getDuration()),
new DefaultStyleable("right-aligned"))
new DefaultStyleable("right-aligned",
invoicedEarnings.greaterThan(earnings) ? "alerted" : "",
invoicedEarnings.isEqualTo(earnings) ? "green" : ""))
.create();