use Mouse; has "tt2" => ( is => "ro", lazy => 1, # not always used isa => "Template", default => sub { require Template; Template->new(); }, handles => [qw( process )], );