package Objects::Status; { use Object::InsideOut; my @statuses :Field('Standard' => 'statuses', Type => 'Objects::StatusElement'); my %init_args :InitArgs = ( 'STATUSES' => { 'Type' => 'LIST', 'Field' => \@statuses, 'Default' => 'empty', }, ); sub init :Init { my ($self, $args) = @_; $self->set(\@statuses, foreach my $value (keys @$args->{'STATUSES'}){ Objects::StatusElement->new('Name' => $value); } }