When we instantiate a SimpleMessage and then pass it to the various decorators, we now get new behavior. Moreover, since both the concrete component and the concrete decorators all implement / descend from IMessage, they are interchangeable as far as the program is concerned, meaning that we can loop over them together. Further, rather than having to create a new ExcitedAndQuizzicalMessageDecorator class, we were able to achieve the same effect by double wrapping a SimpleMessage object (first in an ExcitedMessageDecorator and then in a QuizzicalMessageDecorator). Finally, note that despite having been passed into various decorators, our simpleMsg object remains unchanged at the end of the program.
Landscape painting is a term that covers the depiction of natural scenery such as mountains, valleys, trees, rivers, and forests, and especially art where the main subject is a wide view, with its elements arranged into a coherent composition. In other works landscape backgrounds for figures can still form an important part of the work. Sky is almost always included in the view, and weather is often an element of the composition. Detailed landscapes as a distinct subject are not found in all artistic traditions, and develop when there is already a sophisticated tradition of representing other subjects. The two main traditions spring from Western painting and Chinese art, going back well over a thousand years in both cases.