sub new { my $class = shift; my $self = {}; bless($self, $class); $self->{foo_bar} = Foo::Bar->new(base => __PACKAGE__); if (!$self->{foo_bar}) { croak("Foo::Bar init failed!"); } return $self; }