in reply to lock a method or functinoality to class & subclass

I agree with Randal. I think Larry said something about livingrooms and shotguns on this topic. However, you might try something in your method like this:
sub foo { my $self = shift; die "Get out of my class" unless ref($self); # not called as method die "Get out of my class" unless $self->isa('My::Class'); }
Above code for illustrative purposes only. Certaily could be done a lot better/cleaner.