sub Customer::manager { my $self = shift; return $self->{delegates}{company}->manager; } sub Company::manager { my $self = shift; return $self->{delegates}{office}->manager; } sub Office::manager { my $self = shift; return $self->{delegates}{manager}; } #### sub Customer::manager { my $self = shift; # return $self->{delegates}{company}->manager return $self->{delegates}{office}->manager; }