|  |  |  |  |  |   | 
The createViews definition contains 
an unnecessary substitute for self and no cascades so that the 
identity of the receivers is clear.  An experienced Smalltalk programmer 
might write createViews as follows, employing self, 
exploiting the values of assignment expressions, and using cascades 
liberally:
CalorieViewManager method definition  instance createViews | theTopPane theMeterPane | self addView: (theTopPane := TopPane new). theMeterPane := MeterGraphPane new. "Set up the top pane" theTopPane owner: self; labelWithoutPrefix: 'Demonstration Window'; noSmalltalkMenuBar; framingRatio: (1/4 @ (3/8) rightBottom: 3/4 @ (5/8)). "Set up the meter pane" theTopPane addSubpane: theMeterPane. theMeterPane owner: self; noScrollBars; framingRatio: (0 @ 0 rightBottom: 1 @ 1); when: #display perform: #callDrawMeter:.