Kay [1977] put forward the idea of using domain-specific visual components to empower
end users with computer applications. Henderson and Kyng [1991] further developed
this idea and demonstrated that components architectures were suitable for
building adaptable and parameterizable applications that can be modified using visual
components programming [Szyperski 1998] or programming by modification of examples
[Nardi 1993]. Stiemerling [2000], Stiemerling and Cremers [2000], Mørch et al.
[2004] and Wulf et al. [2004] explored this angle.