package bar; use Moo::Role; has 'foo' => ( is => 'rwp', handles => [qw/foo/], # put other methods to be delegated here ); #### package Foo::Role; sub foo { print "foo\n"; } #### package bar; use Moo::Role; with 'Foo::Role'; # ... other methods