Reorganize the 'isInitialized' check and move 'private' methods