Help for this page
sub name { return @_ ? $self->{name} : $self->{name} = $_[0]; }
sub initialize { my $self = shift; return $self->set(@_); }
Foo->define_attributes( attr1 => 'NUM', attr2 => 'HASH', attr3 => 'STRING', );