Potresti semplicemente usare una uberclass : si tratta di una figura ideale di classe, capace di riconoscere i propri limiti e trascenderli, superando in questo modo se stessa.

Potremmo dire che è Nietzsche applicato alla OOP

Prova a dare un'occhiata a questo libro , potrebbe tornati utile... ^^