package EvanCarroll::Quiz; use Moose; has 'question_class' => (is => 'ro', default => 'EvalCarroll::Question'); sub new_question { my $self = shift; my $question = $self->question_class->new(@_); push @{ $self->questions }, $question; $question; } #### my $quiz = EvanCarroll::Quiz->new( question_class => 'My::Custom::Question' ); #### package Stvn::Quiz; use Moose; extends 'EvalCarroll::Quiz'; has '+question_class' => (default => 'Some::Random::Question');
## my $quiz = EvanCarroll::Quiz->new( question_class => 'My::Custom::Question' ); ##
## package Stvn::Quiz; use Moose; extends 'EvalCarroll::Quiz'; has '+question_class' => (default => 'Some::Random::Question');