Yes vote #3. CGCookie does it best! 😉
[Lots of tutorials say “you can do this”, but few say “why”. After lots of floundering, I’ve recently discovered some clues about “why”/”how it works”. This kind of fundamental understanding has the highest value.]