package Foo; use Role::Tiny::With; with "Foo::Bar"; sub aa { my ( $self, $args ) = @_; my $val = $self->_aa ( $args->{'bar'} ); } sub bb { my ( $self, $args ) = @_; my $val = $self->_bb ( $args->{'foo'} ); } 1; #### package Foo::Bar; use Role::Tiny; sub _aa { my $self, $quux ) = @_; } sub _bb { my $self, $fazoo ) = @_; } 1; #### package Foo2; use Role::Tiny::With; with "Foo::Bar"; ...; 1;