Comments.
Made makeSingular() protected non-static.
Made properties public static so they can be access from the child classes.
Removed prefix from the base class for the time being.
Made class abstract.