#59 #68 add method getPrototypeExtension
#59 change to prototype style, remove singleton style usage