Picolo: A simple python framework for introducing component principles
design patterns : elements of reusable object - oriented software .