+sub is_public {
+ my ( $self, $action ) = @_;
+ my $cv = $self->can($action);
+ return 0 unless $cv;
+ my $attrs = join " ", (attributes::get($cv) || ());
+ do {
+ warn "$action not exported" if Maypole->debug;
+ return 0;
+ } unless $attrs =~ /\bExported\b/i;
+ return 1;
+}
+
+=head2 related
+
+This can go either in the master model class or in the individual
+classes, and returns a list of has-many accessors. A brewery has many
+beers, so C<BeerDB::Brewery> needs to return C<beers>.
+
+=cut
+
+sub related {
+}