Oh, wait, that doesn't work because the base class's `build()` calls it. So I guess this approach is ok, but it might be clearer to swap these two: declare `getNewID()` as the actual function (because that's really what that function does), and then assign that function to `getID()` (to say "in the base class, we want getting an ID to really mean always getting a new ID").