We are initializing in a few steps, some load on jquery load and some on document 'ready'; but the system is about to become slightly more advanced, and will need to take into account local storage in certain situations alongside the "disalbe/enable" inputs based on the initial language that started.
For example, if we store values on tab close, then when the tab reopens (and we initialize) we want to reapply the stored values and not disable inputs. We need to make sure the behavior is consistent and predictable.
As @Samwilson pointed out, it might be time to create a view model, where the behavior is centralized, synchronous, controlled, and can be tested.
The view model can do the initialization and then control all behavior of the input values, especially the saving/fetching of the local storage in a global way (rather than per-input) and listening, in aggregate, to all input change event.
Note: This ticket includes doing tests and putting them in CI, if it's easy to do.