Fixed #2: Ensure that only one `init()` method is in progress at any one time