M2 Style
I think good taste dictates that a module initialize itself with the
minimal structures necessary to guarantee that all exported procedures will
run appropriately, and then have a TweakMe procedure so that users can
change colors, positions, etc.
One problem the author of Benchmark has (had?) is that if the application
programmer uses any portion of a module, the compiler imports _all_ of that
module's code. (I found that out _right_ after I'd paid for it, isn't that
amazing!) Consequently the modules must be kept teeny, which means
breaking procedures and declarations into separate modules. Of course, I
only have the beta version available, so who knows what hath been wrought
since September 1987?