Brian et al, something that may or may have been covered by the recent Themes Discussion (which please put highlights in a thread here) is allowing modules automatically work after a mere /db/build but also be capable of configuration.
This will bear on all of the existing modules made, and needs to established in the next few weeks as the GSOC code comes into more shape. E.g. see
http://www.silverstripe.com/google-summer-of-code-forum/flat/2713, where we now have modules returning their HTML into a template in different ways. We need a convention, and one soon.
To my mind, there's a few ways a 'module' or 'widget' may wish to exist;
1. Append to $Content. This could be the default option.
2. Return as a dollar variable, allowing you to put $FlickrGallery or something anywhere in your templates
3. As a /Layout/ file, which I think was a good scheme but was broken down in the rush to build the BlackCandy file. I feel as though Layout/Page.ss is "too big" and at this tage "layouts" are both trying to be most of a page, and a replacement or addition to $Content. Its role needs to be properly established.
4. "As a widget" in which the location can be prescribed in the CMS or some easy manner. In essense, this is to allow putting it a right hand column of widgets akin to Wordpress, etc.
5. None of the above, aka, let me manually put it somewhere in some other format.
==
It might be that as a default it does #1 (for the time being, if #4 is some time off), simply so that the default case is a module that runs instantly with no template editing. You can then edit your mysite/_config.php a method that provides a clean way to make it render your module in a different manner, e.g.
flickrgallery->renderaslayoutinstead();
or
flickrgallery->renderasvariable("myflickrgallery"); // means $myflickrgallery works
Now, this brings me onto another topic as well...