An automaticaly generating singleton class that uses generics and inheritnace to automate its creation.