GildedRose refactoring kata in Java