class My::Tool { # ... multi method convert(Measure $measure) { my $converter = My::Tool->new( type => $measure->{type}, from => $measure->{from}, to => $measure->{to}, ); $converter->calculate($measure->{amount}) } # more 'convert' methods omitted }