# set from above gets renamed _set_DEFAULT sub set { my ($self, $attrib, $value) = @_; if ( $self->can('_set_'.$attrib) ) { my $result; eval "\$result = \$self->_set_$attrib($value)"; return $result; } else { return $self->_set_DEFAULT($attrib, $value); } }