Change to allow child classes to create instances via getInstance();