Layered Architecture of Graphical User-Interfaces