I'd say keep your existing `objects_` type as it was (just handle -> value), but ALSO have an `objectsByType_` that is what you have now. This way all of this code can keep using `objs` (and be much easier to read) and the only place using the typed stuff is the `getGpuObjects` method.