package CountingMetaClass; use Moose; extends 'Moose::Meta::Class'; has 'count' => ( is => 'rw', isa => 'Int', default => sub { 0 } ); after 'construct_instance' => sub { my $class = shift; $class->count($class->count + 1); }; #### package Foo; use metaclass ('CountingMetaClass'); # tell it what meta you want used first ... use Moose;