@Steve: “…I think that attitude, time with the language and developing the ability to notice, are the three key factors.”
Agreed - but you need to add “motivation” to the list, IMO.
(Many kids sitting in school language classes have no strong or clearly defined motivation. As a result they learn very little!)