перевел на лямбда-выражения
Глобальный рефактор, несколько изменена архитектура