What's the use of Abstract? As there is no real need to define a method or function in the base object, you still have to redefine it in the extended type.
Also if you have a create function, the extended type won't be created unless you have a create function for the extended type.
Also if you have a create function, the extended type won't be created unless you have a create function for the extended type.