alternate front-ends to the Apache and CGI interfaces, or subclassing chunks
of the front-end modules to alter Maypole's behaviour in particular ways.
+=head3 Separate model class modules
+
+You want to put all the C<BeerDB::Beer> routines in a separate module,
+so you say:
+
+ package BeerDB::Beer;
+ BeerDB::Beer->has_a(brewery => "BeerDB::Brewery");
+ sub foo :Exported {}
+
+And in F<BeerDB.pm>, you put:
+
+ use BeerDB::Beer;
+
+It doesn't work.
+
+B<Solution>: It doesn't work because of the timing of the module
+loading. C<use Beer::Beer> will try to set up the C<has_a> relationships
+at compile time, when the database tables haven't even been set up,
+since they're set up by
+
+ BeerDB->setup("...")
+
+which does its stuff at runtime. There are two ways around this; you can
+either move the C<setup> call to compile time, like so:
+
+ BEGIN { BeerDB->setup("...") }
+
+or move the module loading to run-time (my preferred solution):
+
+ BeerDB->setup("...");
+ BeerDB::Beer->require;
+
=head3 Debugging with the command line
You're seeing bizarre problems with Maypole output, and you want to test it in