A substantial paper that presents highly original work spanning five years. The influence of this work started with an earlier interim paper presented at WiPSCE’15. This research underpins a software system implemented in two IDEs (BlueJ and Greenfoot) used by over three million users annually. Rigour is achieved by meticulous design rationale and two evaluations. The research area is of considerable current interest; the work has influenced the direction of the research field. For example, the GP programming language, designed by the authors of the highly influential systems “Scratch” and “Snap”, draws heavily on this work.