package MyHomePage;
  use Moose;
  has 'counter' => (
      traits  => ['Counter'],
      is      => 'ro',
      isa     => 'Num',
      default => 0,
      handles => {
          inc_counter   => 'inc',
          dec_counter   => 'dec',
          reset_counter => 'reset',
      },
  );
  my $page = MyHomePage->new();
  $page->inc_counter;    # same as $page->counter( $page->counter + 1 );
  $page->dec_counter;    # same as $page->counter( $page->counter - 1 );
  my $count_by_twos = 2;
  $page->inc_counter($count_by_twos);
 
Sets the counter to the specified value and returns the new value.
This method requires a single argument.
Increases the attribute value by the amount of the argument, or by 1 if no argument is given. This method returns the new value.
This method accepts a single argument.
Decreases the attribute value by the amount of the argument, or by 1 if no argument is given. This method returns the new value.
This method accepts a single argument.
Resets the value stored in this slot to its default value, and returns the new value.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.