in reply to Confused by use base, I think.

Rather than re-inventing wheels, would it not be more advisable to use existing OO-frameworks such as Moose? It implements inheritance, extensions, accessors, object construction and destruction, roles, class introspection, ...

You are probably making all the errors the authors of these frameworks made and solved.

CountZero

A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity." - The Tao of Programming, 4.1 - Geoffrey James