package MyApp; use MyFramework; has model => (is => 'ro', isa => 'Model', default => sub { Model->new }); has view => (is => 'ro', isa => 'View', default => sub { View->new }); sub call { my $self = shift; my $hello = $self->model->get_hello; return $self->view->render($hello); }