package My::DateTime; use Moose; extends qw( DateTime Moose::Object ); use DateTime::Calendar::Mayan; has 'mayan_date' => ( is => 'ro', isa => 'DateTime::Calendar::Mayan', init_arg => undef, lazy => 1, builder => '_build_mayan_date', clearer => '_clear_mayan_date', predicate => 'has_mayan_date', ); sub new { my $class = shift; my $obj = $class->SUPER::new(@_); return $class->meta->new_object( __IN