The Gilded Rose Kata based on the Ruby version by Jim Weirich.