sub new { my $class = shift; my $self = bless { }, $class; while(@_) { my $property = shift; $self->$property(shift); } return $self; }