https://nuancesprog.ru/p/18554/
Как правильно обрабатывать события