Пожалуй, это отдельная тема.
Сейчас разделю.