use an override for init_internals to avoid potentially non-thread-safe ||= code