presented at event EuroPLoP 2014: 19th European Conference on Pattern Languages of Programs Conference