From within a functional area, classes with different kinds of responsibility belong to different layers than can be changed separately from one another. So if the visual design needs to be tweaked, most changes are confined to the classes in a presentation layer, and not other parts of the code. Do not overuse this prescription and only apply when a separation by i.e. further packaging beyond functional areas improves the readability of code.
Cairngorm recommends the layers described by Eric Evans in Domain-Driven Design:
The figure below shows that code in a higher layer makes direct use of code below it. In the other direction, interactions happen indirectly through event listeners, callback functions and other means.