I think this looks fantastic! Nice separation of concerns going on here. And I think that pushing it onto a months array, instead of the if-statement in the original is a really neat way of doing it.