use Class::Struct;
package Widget;

#Note: This format automatically uses current package
#      for the class name:
struct 
(
    total_widgets => '$',
    widgets_per_hour => '$'
)

---------------------------

package Widget;
use Carp;

sub new {
    my ($object) = @_;
    $object[0] = undef;
    $object[1]=undef;
    bless $object;
}

#continued on next page
 
sub total_widgets {
    my ($object, $newval) = @_;
    croak "Too many arguments to total_widgets" if @_ > 2;
    $object->[0] = $newval if @_ > 1;
    return $self->[0];
}

sub widgets_per_hour{
    my ($object, $newval) = @_;
    croak "Too many arguments to widgets_per_hour" if @_ > 2;
    $object->[1] = $newval if @_ > 1;
    return $self->[1];
}

