my ($class, %params) = @_;
my $self = $class->SUPER::new_object(%params);
foreach my $attr ($class->compute_all_applicable_attributes()) {
+ # FIXME:
+ # this does not accept undefined
+ # values, nor does it accept false
+ # values to be passed into the init-arg
next unless $params{$attr->init_arg} && $attr->can('has_trigger') && $attr->has_trigger;
$attr->trigger->($self, $params{$attr->init_arg}, $attr);
}