Add IDCounter class to allow subclasses to have the same name