Help for this page
package B; sub new { ... # you may not want this and I haven't tested it anyway return unless caller eq 'B'; }
package B; my @models; # factory model, get it? ... sub new { # etc }