Вот уже неоднократно убеждаюсь в одной простой истине - очень мало нормального кода. Я без претензий - хороший код работает и легко читается, Далее...