By the way, there is a nice new community guide by @Stiltjack that try to explain some of these concepts