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... ^^