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