package MyClass; use Any::Moose; use Foo::Heavy; # slows startup! has foo => (is => 'ro', default => sub { Foo::Heavy->new }); #### sub foo { my ($self) = @_; state $foo; if (!$foo) { require Foo::Heavy; $foo = Foo::Heavy->new; } $foo; }