I'd like to add my two cents about grammar.
For any and all stages of learning, grammar is not what's important. It's remembering when and how to use the structures that is.
For example, knowing how to formulate a present perfect sentence and when to use it.
And this can be learned naturally, with clear and constant repetitions of examples that make use of that structure in the right context, and then dynamic exercises to put the learner's new acquired information into practice.
For this purpose, knowing the names of each structure and grammatical element is not necessary. However, too many methods focus on this nowadays.
I am currently working in an English (as a second language) school whose methodology focuses way too much on the grammatical aspects of the language, basically treating each sentence as if it were an algebraical expression; a math problem. We are trained to literally ask the students what are the elements of the sentence, one by one, like: "what is this? The verb or the subject?" "And this?", as you write the names of the elements on the board one by one under the sentence in a "formula" fashion, like: "subject + auxiliary + verb + complement".
Then you have to ask the students to name the keywords that are typically used in that structure. "For", "since", "ever", "already", "yet", etc.
All this useless thing becomes basically a second dimension of the class, makes the lesson too overloaded and drives the focus away from the most important point, which is to lead the student to acquire the ability to use that structure in communication. This actually becomes a problem, as I see many students who are able to memorize the grammatical rules, but reach the final stages of the course struggling to formulate simple sentences and even making mistakes with sentences from beginner level at times, because there was too much focus on grammar and not enough on active use of the structures.
Grammar should be something as automatic as possible. For example, if a student constantly makes the mistake of saying "I can to speak", with a number of times they hear and repeat "I can speak", this should be enough for the student to memorize that "to" is not supposed to be used. Then after the learner has reached a decent level of communication skill, grammar classes should be offered as something optional for the student. The actual grammatical terms and explanations are useless for most people who are only interested in becoming able to communicate in that language.
And yes, one definitely needs as much immersion as one can get.