When writing Perl object oriented code I sometimes leave private subroutines that are not methods (i.e. don't take the class or the object as the first parameter). When refactoring I just produce many such small subs that I don't really see as part of the interface. What do you think about that practice? Is there any danger in it? Or perhaps it is just inelegant?