I do agree. Immersion is the key. I'll cite two examples from my experiences. First, I live in a country with so many dialects. I attended a class on learning a dialect that was used in the place where I was to stay for some time. I got a background of their dialect however I only remember some words and up to the time that I left the place, I was not able to speak their dialect. Why? Because I was not able to converse the people native to the place. Most of the time, I was only with people who spoke my own dialect. However, in my second experience, I lived in a community with various cultures and languages. There were Filipinos, Thais, Vietnamese, Papuans, and a Cambodian. I tried to focus on trying to learn the Pijin language. Conversing with them was very effective. I learned that through constant communication, we would not only learn the proper words to be used, but also learn the proper pronunciation and intonation. Immersion also provides a support group that would constantly correct you and encourage you to do better. It's a warm and wonderful learning experience.