Огромная статья.
Оставляю для себя в сокращенном варианте чтобы не потерять.
Она хоть и сокращенная, но однозначно порвет вашу ленту на миллион маленьких ленточек.
Не открывать слабонервным.

для интересующихся - вперед!