Итоги голосования для комментария:
Кирилл Румянцев Довольно стандартное, но правильное решение. Мне нравится.